[ 
https://issues.apache.org/jira/browse/HBASE-7564?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Trezzo updated HBASE-7564:
--------------------------------

    Attachment: ReplicationRefactor.pdf

Attached is a brief document that contains a diagram of the new class structure 
for this refactor.

Thanks!
                
> [replication] Create interfaces for manipulation of replication state
> ---------------------------------------------------------------------
>
>                 Key: HBASE-7564
>                 URL: https://issues.apache.org/jira/browse/HBASE-7564
>             Project: HBase
>          Issue Type: Improvement
>          Components: Replication
>            Reporter: Chris Trezzo
>            Assignee: Chris Trezzo
>             Fix For: 0.95.0
>
>         Attachments: ReplicationRefactor.pdf
>
>
> Currently ReplicationZookeeper maintains all the zookeeper state for 
> replication. This makes the class relatively large and slightly confusing. 
> There are three major pieces of zookeeper state maintained for replication:
> 1. The state of replication (i.e. whether replication is ENABLED or DISABLED 
> on the cluster). This is held in the state znode.
> 2. The set of slave (or peer) clusters that replication needs to ship edits 
> to. This is held in the peer znode.
> 3. The replication queues that keep track of which hlog files still need to 
> be replicated. There is one queue for each replication source/peer cluster 
> pair.
> Splitting each of these three pieces into their own interfaces will separate 
> the implementation from the operations needed to manipulate replication 
> state. This will allow easier unit testing of the replication logic and more 
> flexibility for future implementations of how replication state is stored.
> The plan is to implement these changes as a series of patches (at least one 
> for each of the three interfaces). The state interface will be first, since 
> it is the most easily separable from the other two pieces.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to