@InterfaceAudience.Private public class ReplicationSink extends Object
This class is responsible for replicating the edits coming from another cluster.
This replication process is currently waiting for the edits to be applied before the method can return. This means that the replication of edits is synchronized (after reading from WALs in ReplicationSource) and that a single region server cannot receive edits from two sources at the same time
This class uses the native HBase client in order to replicate entries.
TODO make this class more like ReplicationSource wrt log handlingConstructor and Description |
---|
ReplicationSink(org.apache.hadoop.conf.Configuration conf,
Stoppable stopper)
Create a sink for replication
|
Modifier and Type | Method and Description |
---|---|
protected void |
batch(TableName tableName,
Collection<List<Row>> allRows)
Do the changes and handle the pool
|
MetricsSink |
getSinkMetrics()
Get replication Sink Metrics
|
String |
getStats()
Get a string representation of this sink's metrics
|
void |
replicateEntries(List<AdminProtos.WALEntry> entries,
CellScanner cells,
String replicationClusterId,
String sourceBaseNamespaceDirPath,
String sourceHFileArchiveDirPath)
Replicate this array of entries directly into the local cluster using the native client.
|
void |
stopReplicationSinkServices()
stop the thread pool executor.
|
public ReplicationSink(org.apache.hadoop.conf.Configuration conf, Stoppable stopper) throws IOException
conf
- conf objectstopper
- boolean to tell this thread to stopIOException
- thrown when HDFS goes bad or bad file namepublic void replicateEntries(List<AdminProtos.WALEntry> entries, CellScanner cells, String replicationClusterId, String sourceBaseNamespaceDirPath, String sourceHFileArchiveDirPath) throws IOException
replicationClusterId
- Id which will uniquely identify source cluster FS client
configurations in the replication configuration directorysourceBaseNamespaceDirPath
- Path that point to the source cluster base namespace
directorysourceHFileArchiveDirPath
- Path that point to the source cluster hfile archive directoryIOException
- If failed to replicate the datapublic void stopReplicationSinkServices()
protected void batch(TableName tableName, Collection<List<Row>> allRows) throws IOException
tableName
- table to insert intoallRows
- list of actionsIOException
public String getStats()
public MetricsSink getSinkMetrics()
Copyright © 2007–2019 Cloudera. All rights reserved.