@InterfaceAudience.Private public interface ReplicationSourceInterface
| Modifier and Type | Method and Description | 
|---|---|
void | 
addHFileRefs(TableName tableName,
            byte[] family,
            List<Pair<org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path>> pairs)
Add hfile names to the queue to be replicated. 
 | 
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 | 
getPeerId()
Get the id that the source is replicating to. 
 | 
String | 
getQueueId()
Get the queue id that the source is replicating to 
 | 
ReplicationEndpoint | 
getReplicationEndpoint()
Returns the replication endpoint used by this replication source 
 | 
ReplicationQueueStorage | 
getReplicationQueueStorage()
Returns The instance of queueStorage used by this ReplicationSource. 
 | 
ServerName | 
getServerWALsBelongTo()
The queue of WALs only belong to one region server. 
 | 
ReplicationSourceManager | 
getSourceManager()
Returns the replication source manager 
 | 
MetricsSource | 
getSourceMetrics()
Returns metrics of this replication source 
 | 
String | 
getStats()
Get a string representation of the current statistics for this source 
 | 
WALFileLengthProvider | 
getWALFileLengthProvider()
Returns the wal file length provider 
 | 
default Map<String,ReplicationStatus> | 
getWalGroupStatus()
get the stat of replication for each wal group. 
 | 
void | 
init(org.apache.hadoop.conf.Configuration conf,
    org.apache.hadoop.fs.FileSystem fs,
    ReplicationSourceManager manager,
    ReplicationQueueStorage queueStorage,
    ReplicationPeer replicationPeer,
    Server server,
    String queueId,
    UUID clusterId,
    WALFileLengthProvider walFileLengthProvider,
    MetricsSource metrics)
Initializer for the source 
 | 
boolean | 
isPeerEnabled()
Returns peer enabled or not 
 | 
default boolean | 
isRecovered()
Returns whether this is a replication source for recovery. 
 | 
boolean | 
isSourceActive()
Returns active or not 
 | 
default void | 
logPositionAndCleanOldLogs(WALEntryBatch entryBatch)
Log the current position to storage. 
 | 
void | 
postShipEdits(List<WAL.Entry> entries,
             int batchSize)
Call this after the shipper thread ship some entries to peer cluster. 
 | 
ReplicationSourceInterface | 
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 clearMetrics)
End the replication 
 | 
void | 
tryThrottle(int batchSize)
Try to throttle when the peer config with a bandwidth 
 | 
void init(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.FileSystem fs, ReplicationSourceManager manager, ReplicationQueueStorage queueStorage, ReplicationPeer replicationPeer, Server server, String queueId, UUID clusterId, WALFileLengthProvider walFileLengthProvider, MetricsSource metrics) throws IOException
conf - the configuration to usefs - the file system to usemanager - the manager to useserver - the server for this region serverIOExceptionvoid enqueueLog(org.apache.hadoop.fs.Path log)
log - path to the log to replicatevoid addHFileRefs(TableName tableName, byte[] family, List<Pair<org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path>> pairs) throws ReplicationException
tableName - Name of the table these files belongs tofamily - Name of the family these files belong topairs - list of pairs of { HFile location in staging dir, HFile path in region dir
                  which will be added in the queue for replication}ReplicationException - If failed to add hfile referencesReplicationSourceInterface startup()
void terminate(String reason)
reason - why it's terminatingvoid terminate(String reason, Exception cause)
reason - why it's terminatingcause - the error that's causing itvoid terminate(String reason, Exception cause, boolean clearMetrics)
reason - why it's terminatingcause - the error that's causing itclearMetrics - removes all metrics about this Sourceorg.apache.hadoop.fs.Path getCurrentPath()
String getQueueId()
String getStats()
boolean isPeerEnabled()
boolean isSourceActive()
MetricsSource getSourceMetrics()
ReplicationEndpoint getReplicationEndpoint()
ReplicationSourceManager getSourceManager()
WALFileLengthProvider getWALFileLengthProvider()
void tryThrottle(int batchSize) throws InterruptedException
batchSize - entries size will be pushedInterruptedExceptionvoid postShipEdits(List<WAL.Entry> entries, int batchSize)
entries - pushedbatchSize - entries size pushedServerName getServerWALsBelongTo()
default Map<String,ReplicationStatus> getWalGroupStatus()
default boolean isRecovered()
ReplicationQueueStorage getReplicationQueueStorage()
default void logPositionAndCleanOldLogs(WALEntryBatch entryBatch)
ReplicationSourceManager.logPositionAndCleanOldLogs(ReplicationSourceInterface, WALEntryBatch)
 whem implementation does not need to persist state to backing storage.entryBatch - the wal entry batch we just shippedCopyright © 2007–2020 The Apache Software Foundation. All rights reserved.