[ 
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)

Reply via email to