@InterfaceAudience.Private public class ReplicationQueuesZKImpl extends ReplicationStateZKBase implements ReplicationQueues
| Modifier and Type | Field and Description | 
|---|---|
static String | 
RS_LOCK_ZNODE
Name of znode we use to lock during failover 
 | 
abortable, conf, DISABLED_ZNODE_BYTES, ENABLED_ZNODE_BYTES, hfileRefsZNode, ourClusterKey, peerStateNodeName, peersZNode, queuesZNode, replicationZNode, tableCFsNodeName, zookeeper, ZOOKEEPER_ZNODE_REPLICATION_HFILE_REFS_DEFAULT, ZOOKEEPER_ZNODE_REPLICATION_HFILE_REFS_KEY| Constructor and Description | 
|---|
ReplicationQueuesZKImpl(ZooKeeperWatcher zk,
                       org.apache.hadoop.conf.Configuration conf,
                       Abortable abortable)  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
addHFileRefs(String peerId,
            List<Pair<org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path>> pairs)
Add new hfile references to the queue. 
 | 
void | 
addLog(String queueId,
      String filename)
Add a new WAL file to the given queue. 
 | 
void | 
addPeerToHFileRefs(String peerId)
Add a peer to hfile reference queue if peer does not exist. 
 | 
boolean | 
checkLockExists(String znode)  | 
Pair<String,SortedSet<String>> | 
claimQueue(String regionserver,
          String queueId)
Take ownership for the queue identified by queueId and belongs to a dead region server. 
 | 
List<String> | 
getAllQueues()
Get a list of all queues for this region server. 
 | 
List<String> | 
getListOfReplicators()
Get a list of all region servers that have outstanding replication queues. 
 | 
String | 
getLockZNode(String znode)  | 
long | 
getLogPosition(String queueId,
              String filename)
Get the current position for a specific WAL in a given queue. 
 | 
List<String> | 
getLogsInQueue(String queueId)
Get a list of all WALs in the given queue. 
 | 
List<String> | 
getUnClaimedQueueIds(String regionserver)
Get queueIds from a dead region server, whose queues has not been claimed by other region
 servers. 
 | 
void | 
init(String serverName)
Initialize the region server replication queue interface. 
 | 
boolean | 
isThisOurRegionServer(String regionserver)
Checks if the provided znode is the same as this region server's 
 | 
boolean | 
isThisOurZnode(String znode)
Checks if the provided znode is the same as this region server's 
 | 
boolean | 
lockOtherRS(String znode)
Try to set a lock in another region server's znode. 
 | 
void | 
removeAllQueues()
Remove all replication queues for this region server. 
 | 
void | 
removeHFileRefs(String peerId,
               List<String> files)
Remove hfile references from the queue. 
 | 
void | 
removeLog(String queueId,
         String filename)
Remove an WAL file from the given queue. 
 | 
void | 
removePeerFromHFileRefs(String peerId)
Remove a peer from hfile reference queue. 
 | 
void | 
removeQueue(String queueId)
Remove a replication queue. 
 | 
void | 
removeReplicatorIfQueueIsEmpty(String regionserver)
Remove the znode of region server if the queue is empty. 
 | 
void | 
setLogPosition(String queueId,
              String filename,
              long position)
Set the current position for a specific WAL in a given queue. 
 | 
getListOfReplicatorsZK, getPeerNode, getPeerStateNode, getTableCFsNode, isPeerPath, peerExists, toByteArraypublic static final String RS_LOCK_ZNODE
public ReplicationQueuesZKImpl(ZooKeeperWatcher zk, org.apache.hadoop.conf.Configuration conf, Abortable abortable)
public void init(String serverName) throws ReplicationException
ReplicationQueuesinit in interface ReplicationQueuesserverName - The server name of the region server that owns the replication queues this
          interface manages.ReplicationExceptionpublic List<String> getListOfReplicators() throws ReplicationException
ReplicationQueuesgetListOfReplicators in interface ReplicationQueuesReplicationExceptionpublic void removeQueue(String queueId)
ReplicationQueuesremoveQueue in interface ReplicationQueuesqueueId - a String that identifies the queue.public void addLog(String queueId, String filename) throws ReplicationException
ReplicationQueuesaddLog in interface ReplicationQueuesqueueId - a String that identifies the queue.filename - name of the WALReplicationExceptionpublic void removeLog(String queueId, String filename)
ReplicationQueuesremoveLog in interface ReplicationQueuesqueueId - a String that identifies the queue.filename - name of the WALpublic void setLogPosition(String queueId, String filename, long position)
ReplicationQueuessetLogPosition in interface ReplicationQueuesqueueId - a String that identifies the queuefilename - name of the WALposition - the current position in the filepublic long getLogPosition(String queueId, String filename) throws ReplicationException
ReplicationQueuesgetLogPosition in interface ReplicationQueuesqueueId - a String that identifies the queuefilename - name of the WALReplicationExceptionpublic boolean isThisOurZnode(String znode)
ReplicationQueuesisThisOurZnode in interface ReplicationQueuesznode - to checkpublic void removeAllQueues()
ReplicationQueuesremoveAllQueues in interface ReplicationQueuespublic List<String> getLogsInQueue(String queueId)
ReplicationQueuesgetLogsInQueue in interface ReplicationQueuesqueueId - a String that identifies the queuepublic List<String> getAllQueues()
ReplicationQueuesgetAllQueues in interface ReplicationQueuespublic boolean isThisOurRegionServer(String regionserver)
ReplicationQueuesisThisOurRegionServer in interface ReplicationQueuesregionserver - the id of the region serverpublic List<String> getUnClaimedQueueIds(String regionserver)
ReplicationQueuesgetUnClaimedQueueIds in interface ReplicationQueuespublic Pair<String,SortedSet<String>> claimQueue(String regionserver, String queueId)
ReplicationQueuesclaimQueue in interface ReplicationQueuesregionserver - the id of the dead region serverqueueId - the id of the queuepublic void removeReplicatorIfQueueIsEmpty(String regionserver)
ReplicationQueuesremoveReplicatorIfQueueIsEmpty in interface ReplicationQueuespublic boolean lockOtherRS(String znode)
znode - the server names of the other serverpublic boolean checkLockExists(String znode) throws org.apache.zookeeper.KeeperException
org.apache.zookeeper.KeeperExceptionpublic void addHFileRefs(String peerId, List<Pair<org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path>> pairs) throws ReplicationException
ReplicationQueuesaddHFileRefs in interface ReplicationQueuespeerId - peer cluster id to which the hfiles need to be replicatedpairs - list of pairs of { HFile location in staging dir, HFile path in region dir which
          will be added in the queue }ReplicationException - if fails to add a hfile referencepublic void removeHFileRefs(String peerId, List<String> files)
ReplicationQueuesremoveHFileRefs in interface ReplicationQueuespeerId - peer cluster id from which this hfile references needs to be removedfiles - list of hfile references to be removedpublic void addPeerToHFileRefs(String peerId) throws ReplicationException
ReplicationQueuesaddPeerToHFileRefs in interface ReplicationQueuespeerId - peer cluster id to be addedReplicationException - if fails to add a peer id to hfile reference queuepublic void removePeerFromHFileRefs(String peerId)
ReplicationQueuesremovePeerFromHFileRefs in interface ReplicationQueuespeerId - peer cluster id to be removedCopyright © 2007–2019 The Apache Software Foundation. All rights reserved.