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

Justin Joseph commented on HDFS-2354:
-------------------------------------

Attached the patch (just for initiating the discussions), along with a class 
diagram. 

The HAServiceProtocol is modeled to react to respond to various events / 
commands fired from a Leader Election Service. An abstract implementation of 
the protocol provided a framework to handle the events as state transitions. A 
concrete implementation can define the states & can fully control the lifecycle 
of the HA Service.

The patch contains classes from both Hadoop Common & HDFS. I will separate them 
(& create different JIRAs) once some conclusion is made on the fate on this 
approach. 

> Generalize the HAServiceProtocol interface
> ------------------------------------------
>
>                 Key: HDFS-2354
>                 URL: https://issues.apache.org/jira/browse/HDFS-2354
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: name-node
>            Reporter: Justin Joseph
>            Assignee: Justin Joseph
>         Attachments: HAService_fw_Class_Diagram.JPG, HDFS-2354.patch
>
>
> This JIRA intends to revisit the patches committed for HADOOP-7455 and 
> HDFS-1974 & to provide more generic interfaces which allows alternative HA 
> implementations to co-exist complying with HAServiceProtocol.
> Some of the considerations are
> 1) Support life cycle methods (start*() and stop() APIs) in HAServiceProtocol
> 2) Support custom states in HAServiceProtocol
> 3) As per the patch submitted for HDFS-1974, Namenode implements HAService 
> interface. This needs to be reconsidered.
> I will elaborate on these points, in the form of comments below.

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

        

Reply via email to