@InterfaceAudience.Public public class HTableMultiplexer extends Object
Modifier and Type | Class and Description |
---|---|
private static class |
HTableMultiplexer.AtomicAverageCounter
Helper to count the average over an interval until reset.
|
(package private) static class |
HTableMultiplexer.FlushWorker |
static class |
HTableMultiplexer.HTableMultiplexerStatus
HTableMultiplexerStatus keeps track of the current status of the HTableMultiplexer.
|
(package private) static class |
HTableMultiplexer.PutStatus |
Modifier and Type | Field and Description |
---|---|
private ClusterConnection |
conn |
private ScheduledExecutorService |
executor |
private long |
flushPeriod |
private static org.slf4j.Logger |
LOG |
private int |
maxAttempts |
private int |
maxKeyValueSize |
private int |
perRegionServerBufferQueueSize |
private ExecutorService |
pool |
private Map<HRegionLocation,HTableMultiplexer.FlushWorker> |
serverToFlushWorkerMap
The map between each region server to its flush worker
|
static String |
TABLE_MULTIPLEXER_FLUSH_PERIOD_MS |
static String |
TABLE_MULTIPLEXER_INIT_THREADS |
static String |
TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE |
private org.apache.hadoop.conf.Configuration |
workerConf |
Constructor and Description |
---|
HTableMultiplexer(org.apache.hadoop.conf.Configuration conf,
int perRegionServerBufferQueueSize) |
HTableMultiplexer(Connection conn,
org.apache.hadoop.conf.Configuration conf,
int perRegionServerBufferQueueSize) |
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes the internal
Connection . |
(package private) ClusterConnection |
getConnection() |
HTableMultiplexer.HTableMultiplexerStatus |
getHTableMultiplexerStatus() |
(package private) LinkedBlockingQueue<HTableMultiplexer.PutStatus> |
getQueue(HRegionLocation addr) |
List<Put> |
put(byte[] tableName,
List<Put> puts)
Deprecated.
Use
put(TableName, List) instead. |
boolean |
put(byte[] tableName,
Put put)
Deprecated.
Use
put(TableName, Put) instead. |
boolean |
put(byte[] tableName,
Put put,
int retry)
Deprecated.
Use
put(TableName, Put) instead. |
List<Put> |
put(TableName tableName,
List<Put> puts)
The puts request will be buffered by their corresponding buffer queue.
|
boolean |
put(TableName tableName,
Put put)
The put request will be buffered by its corresponding buffer queue.
|
boolean |
put(TableName tableName,
Put put,
int maxAttempts)
The put request will be buffered by its corresponding buffer queue.
|
private static final org.slf4j.Logger LOG
public static final String TABLE_MULTIPLEXER_FLUSH_PERIOD_MS
public static final String TABLE_MULTIPLEXER_INIT_THREADS
public static final String TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE
private final Map<HRegionLocation,HTableMultiplexer.FlushWorker> serverToFlushWorkerMap
private final org.apache.hadoop.conf.Configuration workerConf
private final ClusterConnection conn
private final ExecutorService pool
private final int maxAttempts
private final int perRegionServerBufferQueueSize
private final int maxKeyValueSize
private final ScheduledExecutorService executor
private final long flushPeriod
public HTableMultiplexer(org.apache.hadoop.conf.Configuration conf, int perRegionServerBufferQueueSize) throws IOException
conf
- The HBaseConfigurationperRegionServerBufferQueueSize
- determines the max number of the buffered Put ops for
each region server before dropping the request.IOException
public HTableMultiplexer(Connection conn, org.apache.hadoop.conf.Configuration conf, int perRegionServerBufferQueueSize)
conn
- The HBase connection.conf
- The HBase configurationperRegionServerBufferQueueSize
- determines the max number of the buffered Put ops for
each region server before dropping the request.public void close() throws IOException
Connection
. Does nothing if the Connection
has already
been closed.IOException
- If there is an error closing the connection.public boolean put(TableName tableName, Put put)
tableName
- put
- public List<Put> put(TableName tableName, List<Put> puts)
tableName
- puts
- @Deprecated public List<Put> put(byte[] tableName, List<Put> puts)
put(TableName, List)
instead.public boolean put(TableName tableName, Put put, int maxAttempts)
@Deprecated public boolean put(byte[] tableName, Put put, int retry)
put(TableName, Put)
instead.@Deprecated public boolean put(byte[] tableName, Put put)
put(TableName, Put)
instead.public HTableMultiplexer.HTableMultiplexerStatus getHTableMultiplexerStatus()
LinkedBlockingQueue<HTableMultiplexer.PutStatus> getQueue(HRegionLocation addr)
ClusterConnection getConnection()
Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.