[
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