@InterfaceAudience.Private public class HRegionLocator extends Object implements RegionLocator
RegionLocator
. Used to view region location information for a single
HBase table. Lightweight. Get as needed and just close when done. Instances of this class SHOULD
NOT be constructed directly. Obtain an instance via Connection
. See
ConnectionFactory
class comment for an example of how.
This class is thread safeModifier and Type | Field and Description |
---|---|
private ConnectionImplementation |
connection |
private TableName |
tableName |
LOCATOR_META_REPLICAS_MODE, LOCATOR_META_REPLICAS_MODE_LOADBALANCE_SELECTOR
Constructor and Description |
---|
HRegionLocator(TableName tableName,
ConnectionImplementation connection) |
Modifier and Type | Method and Description |
---|---|
void |
clearRegionLocationCache()
Clear all the entries in the region location cache.
|
void |
close() |
List<HRegionLocation> |
getAllRegionLocations()
Retrieves all of the regions associated with this table.
|
TableName |
getName()
Gets the fully qualified table name instance of this table.
|
HRegionLocation |
getRegionLocation(byte[] row,
int replicaId,
boolean reload)
Finds the region with the given replica id on which the given row is being served.
|
List<HRegionLocation> |
getRegionLocations(byte[] row,
boolean reload)
Find all the replicas for the region on which the given row is being served.
|
private static List<String> |
getRegionNames(List<HRegionLocation> locations) |
private List<RegionLocations> |
listRegionLocations() |
private <R,T extends Throwable> |
tracedLocationFuture(TraceUtil.ThrowingCallable<R,T> action,
Function<R,List<String>> getRegionNames,
Supplier<io.opentelemetry.api.trace.Span> spanSupplier) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getEndKeys, getRegionLocation, getRegionLocation, getRegionLocation, getRegionLocations, getStartEndKeys, getStartKeys
private final ConnectionImplementation connection
public HRegionLocator(TableName tableName, ConnectionImplementation connection)
public void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
IOException
public HRegionLocation getRegionLocation(byte[] row, int replicaId, boolean reload) throws IOException
RegionLocator
getRegionLocation
in interface RegionLocator
row
- Row to find.replicaId
- the replica idreload
- true to reload information or false to use cached informationIOException
- if a remote or network exception occurspublic List<HRegionLocation> getRegionLocations(byte[] row, boolean reload) throws IOException
RegionLocator
getRegionLocations
in interface RegionLocator
row
- Row to find.reload
- true to reload information or false to use cached informationIOException
- if a remote or network exception occurspublic List<HRegionLocation> getAllRegionLocations() throws IOException
RegionLocator
reload
parameter.
Notice that the location for region replicas other than the default replica are also returned.getAllRegionLocations
in interface RegionLocator
List
of all regions associated with this table.IOException
- if a remote or network exception occursprivate static List<String> getRegionNames(List<HRegionLocation> locations)
public void clearRegionLocationCache()
RegionLocator
clearRegionLocationCache
in interface RegionLocator
public TableName getName()
RegionLocator
getName
in interface RegionLocator
private List<RegionLocations> listRegionLocations() throws IOException
IOException
private <R,T extends Throwable> R tracedLocationFuture(TraceUtil.ThrowingCallable<R,T> action, Function<R,List<String>> getRegionNames, Supplier<io.opentelemetry.api.trace.Span> spanSupplier) throws T extends Throwable
T extends Throwable
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.