@InterfaceAudience.Private public class ReplicationSource extends Thread implements ReplicationSourceInterface
A stream is considered down when we cannot contact a region server on the peer cluster for more than 55 seconds by default.
| Modifier and Type | Class and Description | 
|---|---|
| static class  | ReplicationSource.LogsComparatorComparator used to compare logs together based on their start time | 
| class  | ReplicationSource.ReplicationSourceWorkerThread | 
| static class  | ReplicationSource.WorkerState | 
Thread.State, Thread.UncaughtExceptionHandlerMAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY| Constructor and Description | 
|---|
| ReplicationSource() | 
| Modifier and Type | Method and Description | 
|---|---|
| private void | decorateConf() | 
| void | enqueueLog(org.apache.hadoop.fs.Path log)Add a log to the list of logs to replicate | 
| org.apache.hadoop.fs.Path | getCurrentPath()Get the current log that's replicated | 
| String | getPeerClusterId()Get the id that the source is replicating to. | 
| String | getPeerClusterZnode()Get the id that the source is replicating to | 
| MetricsSource | getSourceMetrics()Get Replication Source Metrics | 
| String | getStats()Get a string representation of the current statistics
 for this source | 
| void | init(org.apache.hadoop.conf.Configuration conf,
    org.apache.hadoop.fs.FileSystem fs,
    ReplicationSourceManager manager,
    ReplicationQueues replicationQueues,
    ReplicationPeers replicationPeers,
    Stoppable stopper,
    String peerClusterZnode,
    UUID clusterId,
    ReplicationEndpoint replicationEndpoint,
    MetricsSource metrics)Instantiation method used by region servers | 
| protected boolean | isPeerEnabled()check whether the peer is enabled or not | 
| private boolean | isSourceActive() | 
| void | run() | 
| protected boolean | sleepForRetries(String msg,
               int sleepMultiplier)Do the sleeping logic | 
| void | startup()Start the replication | 
| void | terminate(String reason)End the replication | 
| void | terminate(String reason,
         Exception cause)End the replication | 
| void | terminate(String reason,
         Exception cause,
         boolean join) | 
| private void | uninitialize() | 
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yieldprivate static final org.apache.commons.logging.Log LOG
private Map<String,PriorityBlockingQueue<org.apache.hadoop.fs.Path>> queues
private int queueSizePerGroup
private ReplicationQueues replicationQueues
private ReplicationPeers replicationPeers
private org.apache.hadoop.conf.Configuration conf
private ReplicationQueueInfo replicationQueueInfo
private String peerId
private ReplicationSourceManager manager
private Stoppable stopper
private long sleepForRetries
private long replicationQueueSizeCapacity
private int replicationQueueNbCapacity
private org.apache.hadoop.fs.FileSystem fs
private UUID clusterId
private UUID peerClusterId
private AtomicLong totalReplicatedEdits
private AtomicLong totalReplicatedOperations
private String peerClusterZnode
private int maxRetriesMultiplier
private volatile boolean sourceRunning
private MetricsSource metrics
private int logQueueWarnThreshold
private ReplicationEndpoint replicationEndpoint
private WALEntryFilter walEntryFilter
private ReplicationThrottler throttler
private AtomicInteger logQueueSize
private ConcurrentHashMap<String,ReplicationSource.ReplicationSourceWorkerThread> workerThreads
public void init(org.apache.hadoop.conf.Configuration conf,
        org.apache.hadoop.fs.FileSystem fs,
        ReplicationSourceManager manager,
        ReplicationQueues replicationQueues,
        ReplicationPeers replicationPeers,
        Stoppable stopper,
        String peerClusterZnode,
        UUID clusterId,
        ReplicationEndpoint replicationEndpoint,
        MetricsSource metrics)
          throws IOException
init in interface ReplicationSourceInterfaceconf - configuration to usefs - file system to usemanager - replication manager to ping tostopper - the atomic boolean to use to stop the regionserverpeerClusterZnode - the name of our znodeclusterId - unique UUID for the clusterreplicationEndpoint - the replication endpoint implementationmetrics - metrics for replication sourceIOExceptionprivate void decorateConf()
public void enqueueLog(org.apache.hadoop.fs.Path log)
ReplicationSourceInterfaceenqueueLog in interface ReplicationSourceInterfacelog - path to the log to replicateprivate void uninitialize()
protected boolean sleepForRetries(String msg, int sleepMultiplier)
msg - Why we sleepsleepMultiplier - by how many times the default sleeping time is augmentedsleepMultiplier is < maxRetriesMultiplierprotected boolean isPeerEnabled()
public void startup()
ReplicationSourceInterfacestartup in interface ReplicationSourceInterfacepublic void terminate(String reason)
ReplicationSourceInterfaceterminate in interface ReplicationSourceInterfacereason - why it's terminatingpublic void terminate(String reason, Exception cause)
ReplicationSourceInterfaceterminate in interface ReplicationSourceInterfacereason - why it's terminatingcause - the error that's causing itpublic String getPeerClusterZnode()
ReplicationSourceInterfacegetPeerClusterZnode in interface ReplicationSourceInterfacepublic String getPeerClusterId()
ReplicationSourceInterfacegetPeerClusterId in interface ReplicationSourceInterfacepublic org.apache.hadoop.fs.Path getCurrentPath()
ReplicationSourceInterfacegetCurrentPath in interface ReplicationSourceInterfaceprivate boolean isSourceActive()
public String getStats()
ReplicationSourceInterfacegetStats in interface ReplicationSourceInterfacepublic MetricsSource getSourceMetrics()
Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.