Hi Bo,

Sorry for the delay in responding.

   1. That's right, you can pretty much use the existing code in Helix to
   generate the initial mapping. In fact, just set the mode to SEMI_AUTO and
   call rebalance API once - this will set up the initial ideal state and
   ensure that the MASTERs/SLAVE are evenly distributed. You can also invoke
   rebalance api any time the number of nodes changes (add/remove nodes from
   the cluster).
   2. This won't be a problem with SEMI AUTO mode since the idealstate is
   fixed and is changed by explicitly invoking the rebalance API. DROPPED
   messages will be sent only when the mapping in ideal state changes.
   3. Yes, if you have thousands of participants, it is recommended to run
   the rebalancer in the controller.
   4. With SEMI-AUTO mode, the data will never be deleted from the
   participants. In case of ZK network partition, the participants will be
   unreachable for the duration of the outage. Once the connection is
   re-established, everything should return back to normal. Typically, this
   can be avoided by ensuring that the ZK nodes are on different racks.

Kishore G

On Thu, Dec 28, 2017 at 1:53 PM, Bo Liu <[EMAIL PROTECTED]> wrote: