|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.hadoop.hbase.client.HConnectionWrapper
@InterfaceAudience.Private public class HConnectionWrapper
This is a HConnection wrapper. Whenever a RPC connection is created, this class makes sure the specific user is used as the ticket. We assume just these methods will create any RPC connection based on the default HConnection implementation: getClient, getAdmin, getKeepAliveMasterMonitorService, and getKeepAliveMasterAdminService. This class is put here only because the HConnection interface exposes packaged private class MasterMonitorKeepAliveConnection and MasterAddKeepAliveConnection.
| Field Summary |
|---|
| Fields inherited from interface org.apache.hadoop.hbase.client.HConnection |
|---|
HBASE_CLIENT_CONNECTION_IMPL |
| Constructor Summary | |
|---|---|
HConnectionWrapper(org.apache.hadoop.security.UserGroupInformation ugi,
HConnection hconnection)
|
|
| Method Summary | ||
|---|---|---|
void |
abort(String why,
Throwable e)
Abort the server or client. |
|
void |
clearCaches(ServerName sn)
Clear any caches that pertain to server name sn. |
|
void |
clearRegionCache()
Allows flushing the region cache. |
|
void |
clearRegionCache(byte[] tableName)
|
|
void |
clearRegionCache(TableName tableName)
Allows flushing the region cache of all locations that pertain to tableName |
|
void |
close()
|
|
void |
deleteCachedRegionLocation(HRegionLocation location)
Deletes cached locations for the specific region. |
|
AdminProtos.AdminService.BlockingInterface |
getAdmin(ServerName serverName)
Establishes a connection to the region server at the specified address. |
|
AdminProtos.AdminService.BlockingInterface |
getAdmin(ServerName serverName,
boolean getMaster)
Establishes a connection to the region server at the specified address. |
|
ClientProtos.ClientService.BlockingInterface |
getClient(ServerName serverName)
Establishes a connection to the region server at the specified address, and returns a region client protocol. |
|
org.apache.hadoop.conf.Configuration |
getConfiguration()
|
|
int |
getCurrentNrHRS()
|
|
HTableDescriptor |
getHTableDescriptor(byte[] tableName)
|
|
HTableDescriptor |
getHTableDescriptor(TableName tableName)
|
|
HTableDescriptor[] |
getHTableDescriptors(List<String> names)
|
|
HTableDescriptor[] |
getHTableDescriptorsByTableName(List<TableName> tableNames)
|
|
org.apache.hadoop.hbase.client.MasterAdminKeepAliveConnection |
getKeepAliveMasterAdminService()
This function allows HBaseAdmin and potentially others to get a shared MasterAdminProtocol connection. |
|
org.apache.hadoop.hbase.client.MasterMonitorKeepAliveConnection |
getKeepAliveMasterMonitorService()
This function allows HBaseAdmin and potentially others to get a shared MasterMonitor connection. |
|
MasterAdminProtos.MasterAdminService.BlockingInterface |
getMasterAdmin()
Returns a MasterAdminKeepAliveConnection to the active master |
|
MasterMonitorProtos.MasterMonitorService.BlockingInterface |
getMasterMonitor()
Returns an MasterMonitorKeepAliveConnection to the active master |
|
boolean |
getRegionCachePrefetch(byte[] tableName)
|
|
boolean |
getRegionCachePrefetch(TableName tableName)
Check whether region cache prefetch is enabled or not. |
|
HRegionLocation |
getRegionLocation(byte[] tableName,
byte[] row,
boolean reload)
|
|
HRegionLocation |
getRegionLocation(TableName tableName,
byte[] row,
boolean reload)
Find region location hosting passed row |
|
HTableInterface |
getTable(byte[] tableName)
Retrieve an HTableInterface implementation for access to a table. |
|
HTableInterface |
getTable(byte[] tableName,
ExecutorService pool)
Retrieve an HTableInterface implementation for access to a table. |
|
HTableInterface |
getTable(String tableName)
Retrieve an HTableInterface implementation for access to a table. |
|
HTableInterface |
getTable(String tableName,
ExecutorService pool)
Retrieve an HTableInterface implementation for access to a table. |
|
HTableInterface |
getTable(TableName tableName)
Retrieve an HTableInterface implementation for access to a table. |
|
HTableInterface |
getTable(TableName tableName,
ExecutorService pool)
Retrieve an HTableInterface implementation for access to a table. |
|
String[] |
getTableNames()
|
|
boolean |
isAborted()
Check if the server or client was aborted. |
|
boolean |
isClosed()
|
|
boolean |
isDeadServer(ServerName serverName)
|
|
boolean |
isMasterRunning()
|
|
boolean |
isTableAvailable(byte[] tableName)
|
|
boolean |
isTableAvailable(byte[] tableName,
byte[][] splitKeys)
|
|
boolean |
isTableAvailable(TableName tableName)
|
|
boolean |
isTableAvailable(TableName tableName,
byte[][] splitKeys)
Use this api to check if the table has been created with the specified number of splitkeys which was used while creating the given table. |
|
boolean |
isTableDisabled(byte[] tableName)
|
|
boolean |
isTableDisabled(TableName tableName)
|
|
boolean |
isTableEnabled(byte[] tableName)
|
|
boolean |
isTableEnabled(TableName tableName)
A table that isTableEnabled == false and isTableDisabled == false is possible. |
|
TableName[] |
listTableNames()
|
|
HTableDescriptor[] |
listTables()
List all the userspace tables. |
|
HRegionLocation |
locateRegion(byte[] regionName)
Gets the location of the region of regionName. |
|
HRegionLocation |
locateRegion(byte[] tableName,
byte[] row)
|
|
HRegionLocation |
locateRegion(TableName tableName,
byte[] row)
Find the location of the region of tableName that row lives in. |
|
List<HRegionLocation> |
locateRegions(byte[] tableName)
|
|
List<HRegionLocation> |
locateRegions(byte[] tableName,
boolean useCache,
boolean offlined)
|
|
List<HRegionLocation> |
locateRegions(TableName tableName)
Gets the locations of all regions in the specified table, tableName. |
|
List<HRegionLocation> |
locateRegions(TableName tableName,
boolean useCache,
boolean offlined)
Gets the locations of all regions in the specified table, tableName. |
|
void |
processBatch(List<? extends Row> actions,
byte[] tableName,
ExecutorService pool,
Object[] results)
|
|
void |
processBatch(List<? extends Row> actions,
TableName tableName,
ExecutorService pool,
Object[] results)
Process a mixed batch of Get, Put and Delete actions. |
|
|
processBatchCallback(List<? extends Row> list,
byte[] tableName,
ExecutorService pool,
Object[] results,
Batch.Callback<R> callback)
|
|
|
processBatchCallback(List<? extends Row> list,
TableName tableName,
ExecutorService pool,
Object[] results,
Batch.Callback<R> callback)
Parameterized batch processing, allowing varying return types for different Row implementations. |
|
HRegionLocation |
relocateRegion(byte[] tableName,
byte[] row)
|
|
HRegionLocation |
relocateRegion(TableName tableName,
byte[] row)
Find the location of the region of tableName that row lives in, ignoring any value that might be in the cache. |
|
void |
setRegionCachePrefetch(byte[] tableName,
boolean enable)
|
|
void |
setRegionCachePrefetch(TableName tableName,
boolean enable)
Enable or disable region cache prefetch for the table. |
|
void |
updateCachedLocations(byte[] tableName,
byte[] rowkey,
Object exception,
HRegionLocation source)
|
|
void |
updateCachedLocations(TableName tableName,
byte[] rowkey,
Object exception,
HRegionLocation source)
Update the location cache. |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public HConnectionWrapper(org.apache.hadoop.security.UserGroupInformation ugi,
HConnection hconnection)
| Method Detail |
|---|
public HTableInterface getTable(String tableName)
throws IOException
HConnectionHConnectionManager.createConnection(Configuration)).
getTable in interface HConnectionIOException
public HTableInterface getTable(byte[] tableName)
throws IOException
HConnectionHConnectionManager.createConnection(Configuration)).
getTable in interface HConnectionIOException
public HTableInterface getTable(TableName tableName)
throws IOException
HConnectionHConnectionManager.createConnection(Configuration)).
getTable in interface HConnectionIOException
public HTableInterface getTable(String tableName,
ExecutorService pool)
throws IOException
HConnectionHConnectionManager.createConnection(Configuration)).
getTable in interface HConnectionpool - The thread pool to use for batch operations, null to use a default pool.
IOException
public HTableInterface getTable(byte[] tableName,
ExecutorService pool)
throws IOException
HConnectionHConnectionManager.createConnection(Configuration)).
getTable in interface HConnectionpool - The thread pool to use for batch operations, null to use a default pool.
IOException
public HTableInterface getTable(TableName tableName,
ExecutorService pool)
throws IOException
HConnectionHConnectionManager.createConnection(Configuration)).
getTable in interface HConnectionpool - The thread pool to use for batch operations, null to use a default pool.
IOException
public void abort(String why,
Throwable e)
Abortable
abort in interface Abortablewhy - Why we're aborting.e - Throwable that caused abort. Can be null.public boolean isAborted()
Abortable
isAborted in interface Abortable
public void close()
throws IOException
close in interface CloseableIOExceptionpublic org.apache.hadoop.conf.Configuration getConfiguration()
getConfiguration in interface HConnection
public boolean isMasterRunning()
throws MasterNotRunningException,
ZooKeeperConnectionException
isMasterRunning in interface HConnectionMasterNotRunningException
ZooKeeperConnectionException
public boolean isTableEnabled(TableName tableName)
throws IOException
HConnection
isTableEnabled in interface HConnectiontableName - table name
IOException - if a remote or network exception occurs
public boolean isTableEnabled(byte[] tableName)
throws IOException
isTableEnabled in interface HConnectionIOException
public boolean isTableDisabled(TableName tableName)
throws IOException
isTableDisabled in interface HConnectiontableName - table name
IOException - if a remote or network exception occurs
public boolean isTableDisabled(byte[] tableName)
throws IOException
isTableDisabled in interface HConnectionIOException
public boolean isTableAvailable(TableName tableName)
throws IOException
isTableAvailable in interface HConnectiontableName - table name
IOException - if a remote or network exception occurs
public boolean isTableAvailable(byte[] tableName)
throws IOException
isTableAvailable in interface HConnectionIOException
public boolean isTableAvailable(TableName tableName,
byte[][] splitKeys)
throws IOException
HConnection
isTableAvailable in interface HConnectiontableName - tableNamesplitKeys - splitKeys used while creating table
IOException - if a remote or network exception occurs
public boolean isTableAvailable(byte[] tableName,
byte[][] splitKeys)
throws IOException
isTableAvailable in interface HConnectionIOException
public HTableDescriptor[] listTables()
throws IOException
HConnection
listTables in interface HConnectionIOException - if a remote or network exception occurs
public String[] getTableNames()
throws IOException
getTableNames in interface HConnectionIOException
public TableName[] listTableNames()
throws IOException
listTableNames in interface HConnectionIOException
public HTableDescriptor getHTableDescriptor(TableName tableName)
throws IOException
getHTableDescriptor in interface HConnectiontableName - table name
IOException - if a remote or network exception occurs
public HTableDescriptor getHTableDescriptor(byte[] tableName)
throws IOException
getHTableDescriptor in interface HConnectionIOException
public HRegionLocation locateRegion(TableName tableName,
byte[] row)
throws IOException
HConnection
locateRegion in interface HConnectiontableName - name of the table row is inrow - row key you're trying to find the region of
IOException - if a remote or network exception occurs
public HRegionLocation locateRegion(byte[] tableName,
byte[] row)
throws IOException
locateRegion in interface HConnectionIOExceptionpublic void clearRegionCache()
HConnection
clearRegionCache in interface HConnectionpublic void clearRegionCache(TableName tableName)
HConnectiontableName
clearRegionCache in interface HConnectiontableName - Name of the table whose regions we are to remove from
cache.public void clearRegionCache(byte[] tableName)
clearRegionCache in interface HConnectionpublic void deleteCachedRegionLocation(HRegionLocation location)
HConnection
deleteCachedRegionLocation in interface HConnectionlocation - The location object for the region, to be purged from cache.
public HRegionLocation relocateRegion(TableName tableName,
byte[] row)
throws IOException
HConnection
relocateRegion in interface HConnectiontableName - name of the table row is inrow - row key you're trying to find the region of
IOException - if a remote or network exception occurs
public HRegionLocation relocateRegion(byte[] tableName,
byte[] row)
throws IOException
relocateRegion in interface HConnectionIOException
public void updateCachedLocations(TableName tableName,
byte[] rowkey,
Object exception,
HRegionLocation source)
HConnection
updateCachedLocations in interface HConnectiontableName - the table namerowkey - the rowexception - the exception if any. Can be null.source - the previous location
public void updateCachedLocations(byte[] tableName,
byte[] rowkey,
Object exception,
HRegionLocation source)
updateCachedLocations in interface HConnection
public HRegionLocation locateRegion(byte[] regionName)
throws IOException
HConnection
locateRegion in interface HConnectionregionName - name of the region to locate
IOException - if a remote or network exception occurs
public List<HRegionLocation> locateRegions(TableName tableName)
throws IOException
HConnection
locateRegions in interface HConnectiontableName - table to get regions of
IOException
public List<HRegionLocation> locateRegions(byte[] tableName)
throws IOException
locateRegions in interface HConnectionIOException
public List<HRegionLocation> locateRegions(TableName tableName,
boolean useCache,
boolean offlined)
throws IOException
HConnection
locateRegions in interface HConnectiontableName - table to get regions ofuseCache - Should we use the cache to retrieve the region information.offlined - True if we are to include offlined regions, false and we'll leave out offlined
regions from returned list.
IOException
public List<HRegionLocation> locateRegions(byte[] tableName,
boolean useCache,
boolean offlined)
throws IOException
locateRegions in interface HConnectionIOException
public MasterAdminProtos.MasterAdminService.BlockingInterface getMasterAdmin()
throws IOException
HConnectionMasterAdminKeepAliveConnection to the active master
getMasterAdmin in interface HConnectionIOException
public MasterMonitorProtos.MasterMonitorService.BlockingInterface getMasterMonitor()
throws IOException
HConnectionMasterMonitorKeepAliveConnection to the active master
getMasterMonitor in interface HConnectionIOException
public AdminProtos.AdminService.BlockingInterface getAdmin(ServerName serverName)
throws IOException
HConnection
getAdmin in interface HConnectionIOException - if a remote or network exception occurs
public ClientProtos.ClientService.BlockingInterface getClient(ServerName serverName)
throws IOException
HConnection
getClient in interface HConnectionIOException - if a remote or network exception occurs
public AdminProtos.AdminService.BlockingInterface getAdmin(ServerName serverName,
boolean getMaster)
throws IOException
HConnection
getAdmin in interface HConnectiongetMaster - do we check if master is alive
IOException - if a remote or network exception occurs
public HRegionLocation getRegionLocation(TableName tableName,
byte[] row,
boolean reload)
throws IOException
HConnection
getRegionLocation in interface HConnectiontableName - table namerow - Row to find.reload - If true do not use cache, otherwise bypass.
IOException - if a remote or network exception occurs
public HRegionLocation getRegionLocation(byte[] tableName,
byte[] row,
boolean reload)
throws IOException
getRegionLocation in interface HConnectionIOException
public void processBatch(List<? extends Row> actions,
TableName tableName,
ExecutorService pool,
Object[] results)
throws IOException,
InterruptedException
HConnection
processBatch in interface HConnectionactions - The collection of actions.tableName - Name of the hbase tablepool - thread pool for parallel executionresults - An empty array, same size as list. If an exception is thrown,
you can test here for partial results, and to determine which actions
processed successfully.
IOException - if there are problems talking to META. Per-item
exceptions are stored in the results array.
InterruptedException
public void processBatch(List<? extends Row> actions,
byte[] tableName,
ExecutorService pool,
Object[] results)
throws IOException,
InterruptedException
processBatch in interface HConnectionIOException
InterruptedException
public <R> void processBatchCallback(List<? extends Row> list,
TableName tableName,
ExecutorService pool,
Object[] results,
Batch.Callback<R> callback)
throws IOException,
InterruptedException
HConnectionRow implementations.
processBatchCallback in interface HConnectionIOException
InterruptedException
public <R> void processBatchCallback(List<? extends Row> list,
byte[] tableName,
ExecutorService pool,
Object[] results,
Batch.Callback<R> callback)
throws IOException,
InterruptedException
processBatchCallback in interface HConnectionIOException
InterruptedException
public void setRegionCachePrefetch(TableName tableName,
boolean enable)
HConnection
setRegionCachePrefetch in interface HConnectiontableName - name of table to configure.enable - Set to true to enable region cache prefetch.
public void setRegionCachePrefetch(byte[] tableName,
boolean enable)
setRegionCachePrefetch in interface HConnectionpublic boolean getRegionCachePrefetch(TableName tableName)
HConnection
getRegionCachePrefetch in interface HConnectiontableName - name of table to check
public boolean getRegionCachePrefetch(byte[] tableName)
getRegionCachePrefetch in interface HConnection
public int getCurrentNrHRS()
throws IOException
getCurrentNrHRS in interface HConnectionIOException - if a remote or network exception occurs
public HTableDescriptor[] getHTableDescriptorsByTableName(List<TableName> tableNames)
throws IOException
getHTableDescriptorsByTableName in interface HConnectiontableNames - List of table names
IOException - if a remote or network exception occurs
public HTableDescriptor[] getHTableDescriptors(List<String> names)
throws IOException
getHTableDescriptors in interface HConnectionIOExceptionpublic boolean isClosed()
isClosed in interface HConnectionpublic void clearCaches(ServerName sn)
HConnectionsn.
clearCaches in interface HConnectionsn - A server name
public org.apache.hadoop.hbase.client.MasterMonitorKeepAliveConnection getKeepAliveMasterMonitorService()
throws MasterNotRunningException
HConnection
getKeepAliveMasterMonitorService in interface HConnectionMasterNotRunningException
public org.apache.hadoop.hbase.client.MasterAdminKeepAliveConnection getKeepAliveMasterAdminService()
throws MasterNotRunningException
HConnection
getKeepAliveMasterAdminService in interface HConnectionMasterNotRunningExceptionpublic boolean isDeadServer(ServerName serverName)
isDeadServer in interface HConnection
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||