org.apache.hadoop.hbase.replication.regionserver
Class ReplicationSink

java.lang.Object
  extended by org.apache.hadoop.hbase.replication.regionserver.ReplicationSink

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 HLogs 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 handling


Field Summary
static String REPLICATION_LOG_DIR
           
 
Constructor Summary
ReplicationSink(org.apache.hadoop.conf.Configuration conf, Stoppable stopper)
          Create a sink for replication
 
Method Summary
protected  void batch(byte[] tableName, Collection<List<Row>> allRows)
          Do the changes and handle the pool
 void replicateEntries(HLog.Entry[] entries)
          Replicate this array of entries directly into the local cluster using the native client.
 void stopReplicationSinkServices()
          stop the thread pool executor.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

REPLICATION_LOG_DIR

public static final String REPLICATION_LOG_DIR
See Also:
Constant Field Values
Constructor Detail

ReplicationSink

public ReplicationSink(org.apache.hadoop.conf.Configuration conf,
                       Stoppable stopper)
                throws IOException
Create a sink for replication

Parameters:
conf - conf object
stopper - boolean to tell this thread to stop
Throws:
IOException - thrown when HDFS goes bad or bad file name
Method Detail

replicateEntries

public void replicateEntries(HLog.Entry[] entries)
                      throws IOException
Replicate this array of entries directly into the local cluster using the native client.

Parameters:
entries -
Throws:
IOException

stopReplicationSinkServices

public void stopReplicationSinkServices()
stop the thread pool executor. It is called when the regionserver is stopped.


batch

protected void batch(byte[] tableName,
                     Collection<List<Row>> allRows)
              throws IOException
Do the changes and handle the pool

Parameters:
tableName - table to insert into
allRows - list of actions
Throws:
IOException


Copyright © 2015 The Apache Software Foundation. All Rights Reserved.