@InterfaceAudience.Private public class ReplicationQueuesZKImpl extends ReplicationStateZKBase implements ReplicationQueues
abortable, conf, DISABLED_ZNODE_BYTES, ENABLED_ZNODE_BYTES, hfileRefsZNode, ourClusterKey, peerStateNodeName, peersZNode, queuesZNode, replicationForBulkLoadEnabled, replicationZNode, zookeeper, ZOOKEEPER_ZNODE_REPLICATION_HFILE_REFS_DEFAULT, ZOOKEEPER_ZNODE_REPLICATION_HFILE_REFS_KEY
Constructor and Description |
---|
ReplicationQueuesZKImpl(ZooKeeperWatcher zk,
Configuration conf,
Abortable abortable) |
Modifier and Type | Method and Description |
---|---|
void |
addHFileRefs(java.lang.String peerId,
java.util.List<Pair<Path,Path>> pairs)
Add new hfile references to the queue.
|
void |
addLog(java.lang.String queueId,
java.lang.String filename)
Add a new WAL file to the given queue.
|
void |
addPeerToHFileRefs(java.lang.String peerId)
Add a peer to hfile reference queue if peer does not exist.
|
java.util.SortedMap<java.lang.String,java.util.SortedSet<java.lang.String>> |
claimQueues(java.lang.String regionserverZnode)
Take ownership for the set of queues belonging to a dead region server.
|
java.util.List<java.lang.String> |
getAllQueues()
Get a list of all queues for this region server.
|
long |
getLogPosition(java.lang.String queueId,
java.lang.String filename)
Get the current position for a specific WAL in a given queue.
|
java.util.List<java.lang.String> |
getLogsInQueue(java.lang.String queueId)
Get a list of all WALs in the given queue.
|
void |
init(java.lang.String serverName)
Initialize the region server replication queue interface.
|
boolean |
isThisOurZnode(java.lang.String znode)
Checks if the provided znode is the same as this region server's
|
void |
removeAllQueues()
Remove all replication queues for this region server.
|
void |
removeHFileRefs(java.lang.String peerId,
java.util.List<java.lang.String> files)
Remove hfile references from the queue.
|
void |
removeLog(java.lang.String queueId,
java.lang.String filename)
Remove an WAL file from the given queue.
|
void |
removeQueue(java.lang.String queueId)
Remove a replication queue.
|
void |
setLogPosition(java.lang.String queueId,
java.lang.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, Configuration conf, Abortable abortable)
public void init(java.lang.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(java.lang.String queueId)
ReplicationQueues
removeQueue
in interface ReplicationQueues
queueId
- a String that identifies the queue.public void addLog(java.lang.String queueId, java.lang.String filename) throws ReplicationException
ReplicationQueues
addLog
in interface ReplicationQueues
queueId
- a String that identifies the queue.filename
- name of the WALReplicationException
public void removeLog(java.lang.String queueId, java.lang.String filename)
ReplicationQueues
removeLog
in interface ReplicationQueues
queueId
- a String that identifies the queue.filename
- name of the WALpublic void setLogPosition(java.lang.String queueId, java.lang.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(java.lang.String queueId, java.lang.String filename) throws ReplicationException
ReplicationQueues
getLogPosition
in interface ReplicationQueues
queueId
- a String that identifies the queuefilename
- name of the WALReplicationException
public boolean isThisOurZnode(java.lang.String znode)
ReplicationQueues
isThisOurZnode
in interface ReplicationQueues
znode
- to checkpublic java.util.SortedMap<java.lang.String,java.util.SortedSet<java.lang.String>> claimQueues(java.lang.String regionserverZnode)
ReplicationQueues
claimQueues
in interface ReplicationQueues
regionserverZnode
- the id of the dead region serverpublic void removeAllQueues()
ReplicationQueues
removeAllQueues
in interface ReplicationQueues
public java.util.List<java.lang.String> getLogsInQueue(java.lang.String queueId)
ReplicationQueues
getLogsInQueue
in interface ReplicationQueues
queueId
- a String that identifies the queuepublic java.util.List<java.lang.String> getAllQueues()
ReplicationQueues
getAllQueues
in interface ReplicationQueues
public void addHFileRefs(java.lang.String peerId, java.util.List<Pair<Path,Path>> pairs) throws ReplicationException
ReplicationQueues
addHFileRefs
in interface ReplicationQueues
peerId
- 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(java.lang.String peerId, java.util.List<java.lang.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(java.lang.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 queue