@InterfaceAudience.Private public class ReplicationQueuesZKImpl extends ReplicationStateZKBase implements ReplicationQueues
abortable, conf, DISABLED_ZNODE_BYTES, ENABLED_ZNODE_BYTES, hfileRefsZNode, ourClusterKey, peerStateNodeName, peersZNode, queuesZNode, replicationZNode, 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<String> files)
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) |
SortedMap<String,SortedSet<String>> |
claimQueues(String regionserverZnode)
Take ownership for the set of queues belonging to a dead region server.
|
List<String> |
getAllQueues()
Get a list of all queues for this region server.
|
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.
|
void |
init(String serverName)
Initialize the region server replication queue interface.
|
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 |
setLogPosition(String queueId,
String filename,
long position)
Set the current position for a specific WAL in a given queue.
|
getListOfReplicators, isPeerPath, peerExists, toByteArray
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getListOfReplicators
public ReplicationQueuesZKImpl(ZooKeeperWatcher zk, org.apache.hadoop.conf.Configuration conf, Abortable abortable)
public void init(String serverName) throws ReplicationException
ReplicationQueues
init
in interface ReplicationQueues
serverName
- The server name of the region server that owns the replication queues this
interface manages.ReplicationException
public void removeQueue(String queueId)
ReplicationQueues
removeQueue
in interface ReplicationQueues
queueId
- a String that identifies the queue.public void addLog(String queueId, String filename) throws ReplicationException
ReplicationQueues
addLog
in interface ReplicationQueues
queueId
- a String that identifies the queue.filename
- name of the WALReplicationException
public void removeLog(String queueId, String filename)
ReplicationQueues
removeLog
in interface ReplicationQueues
queueId
- a String that identifies the queue.filename
- name of the WALpublic void setLogPosition(String queueId, String filename, long position)
ReplicationQueues
setLogPosition
in interface ReplicationQueues
queueId
- a String that identifies the queuefilename
- name of the WALposition
- the current position in the filepublic long getLogPosition(String queueId, String filename) throws ReplicationException
ReplicationQueues
getLogPosition
in interface ReplicationQueues
queueId
- a String that identifies the queuefilename
- name of the WALReplicationException
public boolean isThisOurZnode(String znode)
ReplicationQueues
isThisOurZnode
in interface ReplicationQueues
znode
- to checkpublic SortedMap<String,SortedSet<String>> claimQueues(String regionserverZnode)
ReplicationQueues
claimQueues
in interface ReplicationQueues
regionserverZnode
- the id of the dead region serverpublic void removeAllQueues()
ReplicationQueues
removeAllQueues
in interface ReplicationQueues
public List<String> getLogsInQueue(String queueId)
ReplicationQueues
getLogsInQueue
in interface ReplicationQueues
queueId
- a String that identifies the queuepublic List<String> getAllQueues()
ReplicationQueues
getAllQueues
in interface ReplicationQueues
public boolean lockOtherRS(String znode)
znode
- the server names of the other serverpublic boolean checkLockExists(String znode) throws org.apache.zookeeper.KeeperException
org.apache.zookeeper.KeeperException
public void addHFileRefs(String peerId, List<String> files) throws ReplicationException
ReplicationQueues
addHFileRefs
in interface ReplicationQueues
peerId
- peer cluster id to which the hfiles need to be replicatedfiles
- list of hfile references to be addedReplicationException
- if fails to add a hfile referencepublic void removeHFileRefs(String peerId, List<String> files)
ReplicationQueues
removeHFileRefs
in interface ReplicationQueues
peerId
- 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
ReplicationQueues
addPeerToHFileRefs
in interface ReplicationQueues
peerId
- peer cluster id to be addedReplicationException
- if fails to add a peer id to hfile reference queuepublic void removePeerFromHFileRefs(String peerId)
ReplicationQueues
removePeerFromHFileRefs
in interface ReplicationQueues
peerId
- peer cluster id to be removedCopyright © 2007–2017 The Apache Software Foundation. All rights reserved.