You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@helix.apache.org by "hahn.jiang.pro" <ha...@gmail.com> on 2015/10/29 06:17:23 UTC

Question about helix state transition

hi,
 I deploy a cluster with helix. When I start a instance, helix will change EXTERNALVIEW before my service complete the transition function. is that right? I think helix can change EXTERNALVIEW after my service complete transition function successfully. how can I configure my helix.


 Next, I have a question about helix source code. I found helix just update IDEALSTATES when I call rebalance function. Then helix send a message and this message tell the cluster changes EXTERNALVIEW state to IDEALSTATES. Some time my cluster’s EXTERNALVIEW and IDEALSTATES are not same. Does helix can know this difference and do something.


Thanks

RE: Question about helix state transition

Posted by Kanak Biscuitwala <ka...@hotmail.com>.
That shouldn't be possible. The sequence is: (1) ideal state change, (2) controller detects change and sends messages, (3) each node applies messages, invokes the state transition handler, and when the handler returns, updates its current state, (4) the controller sees the change in current state and updates the external view.


The external view and ideal state may not always match, but the controller will send messages to nodes such that the external view will eventually match within the constraints on the cluster.

From: hahn.jiang.pro@gmail.com
To: user@helix.apache.org
Subject: Question about helix state transition
Date: Thu, 29 Oct 2015 13:17:23 +0800

hi,
  I deploy a cluster with helix. When I start a instance, helix will change EXTERNALVIEW before my service complete the transition function. is that right? I think helix can change EXTERNALVIEW after my service complete transition function successfully. how can I configure my helix.

  Next, I have a question about helix source code. I found helix just update IDEALSTATES when I call rebalance function. Then  helix send a message and this message tell the cluster changes EXTERNALVIEW state to IDEALSTATES. Some time my cluster’s EXTERNALVIEW and IDEALSTATES are not same. Does helix can know this difference and do something.

Thanks