Class SyncReplicationReplayWALManager.UsedReplayWorkersForPeer
java.lang.Object
org.apache.hadoop.hbase.master.replication.SyncReplicationReplayWALManager.UsedReplayWorkersForPeer
- Enclosing class:
- SyncReplicationReplayWALManager
This class is used to record the used workers(region servers) for a replication peer. For
balancing the replaying remote wal job, we will only schedule one remote replay procedure each
time. So when acquiring a worker, we will first get all the region servers for this cluster,
and then filter out the used ones.
The
ProcedureEvent
is used for notifying procedures that there are available workers
now. We used to use sleeping and retrying before, but if the interval is too large, for
example, exponential backoff, then it is not effective, but if the interval is too small, then
we will flood the procedure wal.
The states are only kept in memory, so when restarting, we need to reconstruct these
information, using the information stored in related procedures. See the afterReplay
method in RecoverStandbyProcedure
and SyncReplicationReplayWALProcedure
for
more details.-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionacquire
(ServerManager serverManager) void
release
(ServerName worker) void
void
used
(ServerName worker) void
wake
(MasterProcedureScheduler scheduler)
-
Field Details
-
usedWorkers
-
event
-
-
Constructor Details
-
UsedReplayWorkersForPeer
-
-
Method Details
-
used
-
acquire
-
release
-
suspend
-
wake
-