[
https://issues.apache.org/jira/browse/HBASE-15867?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17523101#comment-17523101
]
Duo Zhang commented on HBASE-15867:
-----------------------------------
OK, when reviewing the implementation of ZKReplicationQueueStorage, I think the
above approach still missed a part, which is the claimQueue operation. When
claiming a replication queue, first we need to know there is a replication
queue for the dead region server, then we can do a claim operation.
So the problem here is that, we will not record the WAL files in
ReplicationQueueStorage when creating the file, then if we crash before
actually replicating some edits out and updating the replication offset, then
we can not get the information of this replication queue through the
ReplicationQueueStorage.
An idea is to add a replication offset record when creating the first WAL file
in a replicaion group, but it will introduce the cyclic dependency back...
Let me think if there are other possible ways to solve the problem.
> Move HBase replication tracking from ZooKeeper to HBase
> -------------------------------------------------------
>
> Key: HBASE-15867
> URL: https://issues.apache.org/jira/browse/HBASE-15867
> Project: HBase
> Issue Type: New Feature
> Components: Replication
> Affects Versions: 2.1.0
> Reporter: Joseph
> Assignee: Zheng Hu
> Priority: Major
>
> Move the WAL file and offset tracking out of ZooKeeper and into an HBase
> table called hbase:replication.
> The largest three new changes will be two classes ReplicationTableBase,
> TableBasedReplicationQueues, and TableBasedReplicationQueuesClient. As of now
> ReplicationPeers and HFileRef's tracking will not be implemented. Subtasks
> have been filed for these two jobs.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)