[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13049728#comment-13049728
 ] 

Hari A V commented on ZOOKEEPER-1080:
-------------------------------------

Hi Sammeer,

1: One suggestion is, let the framework maintain the state of the process and 
act as StateEngine rather than giving to the user.

        For ex:- Let's say Process2 is in Ready state and Leader goes down. 
Here it will directly give handle to the user/component as ELECTED_START. In 
this case, user needs to maintain the previous status and act upon. 
                // handle to the user with the present state.
                observer.onElectionEvent(eventType);
        
        Suggestion: It will be better to tell the user about the state 
transitions like:
                >> startAsLeader
                >> startAsSlave
                >> switchFromSlaveToLeader etc.

2: I think, it would be better to handle the failure exceptions by the f/w and 
hide the complexities of state transitions to the user. This will help the 
users to think about their process/application specific logics(like how to 
perform startInActive action, how to synchronize the process data during 
standbyToActive etc.) rather than writing the high availability logics.

- Hari

> Provide a Leader Election framework based on Zookeeper receipe
> --------------------------------------------------------------
>
>                 Key: ZOOKEEPER-1080
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1080
>             Project: ZooKeeper
>          Issue Type: New Feature
>          Components: contrib
>    Affects Versions: 3.3.2
>            Reporter: Hari A V
>         Attachments: LeaderElectionService.pdf, ZOOKEEPER-1080.patch, 
> zkclient-0.1.0.jar, zookeeper-leader-0.0.1.tar.gz
>
>
> Currently Hadoop components such as NameNode and JobTracker are single point 
> of failure.
> If Namenode or JobTracker goes down, there service will not be available 
> until they are up and running again. If there was a Standby Namenode or 
> JobTracker available and ready to serve when Active nodes go down, we could 
> have reduced the service down time. Hadoop already provides a Standby 
> Namenode implementation which is not fully a "hot" Standby. 
> The common problem to be addressed in any such Active-Standby cluster is 
> Leader Election and Failure detection. This can be done using Zookeeper as 
> mentioned in the Zookeeper recipes.
> http://zookeeper.apache.org/doc/r3.3.3/recipes.html
> +Leader Election Service (LES)+
> Any Node who wants to participate in Leader Election can use this service. 
> They should start the service with required configurations. The service will 
> notify the nodes whether they should be started as Active or Standby mode. 
> Also they intimate any changes in the mode at runtime. All other complexities 
> can be handled internally by the LES.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to