@InterfaceAudience.LimitedPrivate(value="Configuration") public class AccessController extends BaseMasterAndRegionObserver implements RegionServerObserver, org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.AccessControlService.Interface, CoprocessorService, EndpointObserver, BulkLoadObserver
AccessController performs authorization checks for HBase operations
based on:
Permission.Action values)
If the authorization check fails, an AccessDeniedException
will be thrown for the operation.
To perform authorization checks, AccessController relies on the
RpcServerEngine being loaded to provide
the user identities for remote requests.
The access control lists used for authorization can be manipulated via the
exposed AccessControlProtos.AccessControlService Interface implementation, and the associated
grant, revoke, and user_permission HBase shell
commands.
Coprocessor.StateRegionObserver.MutationTypePRIORITY_HIGHEST, PRIORITY_LOWEST, PRIORITY_SYSTEM, PRIORITY_USER, VERSION| 构造器和说明 |
|---|
AccessController() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
checkPermissions(com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.CheckPermissionsRequest request,
com.google.protobuf.RpcCallback<org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.CheckPermissionsResponse> done) |
TableAuthManager |
getAuthManager() |
Region |
getRegion() |
com.google.protobuf.Service |
getService() |
void |
getUserPermissions(com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.GetUserPermissionsRequest request,
com.google.protobuf.RpcCallback<org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.GetUserPermissionsResponse> done) |
void |
grant(com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.GrantRequest request,
com.google.protobuf.RpcCallback<org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.GrantResponse> done) |
static boolean |
isAuthorizationSupported(org.apache.hadoop.conf.Configuration conf) |
static boolean |
isCellAuthorizationSupported(org.apache.hadoop.conf.Configuration conf) |
void |
postAbortProcedure(ObserverContext<MasterCoprocessorEnvironment> ctx)
Called after a abortProcedure request has been processed.
|
void |
postClearDeadServers(ObserverContext<MasterCoprocessorEnvironment> ctx,
List<ServerName> servers,
List<ServerName> notClearedServers)
Called after clear dead region servers.
|
ReplicationEndpoint |
postCreateReplicationEndPoint(ObserverContext<RegionServerCoprocessorEnvironment> ctx,
ReplicationEndpoint endpoint)
This will be called after the replication endpoint is instantiated.
|
void |
postCreateTableHandler(ObserverContext<MasterCoprocessorEnvironment> c,
HTableDescriptor desc,
HRegionInfo[] regions)
Called after the createTable operation has been requested.
|
void |
postDelete(ObserverContext<RegionCoprocessorEnvironment> c,
Delete delete,
WALEdit edit,
Durability durability)
Called after the client deletes a value.
|
void |
postDeleteColumn(ObserverContext<MasterCoprocessorEnvironment> c,
TableName tableName,
byte[] col)
Called after the column family has been deleted.
|
void |
postDeleteNamespace(ObserverContext<MasterCoprocessorEnvironment> ctx,
String namespace)
Called after the deleteNamespace operation has been requested.
|
void |
postDeleteTable(ObserverContext<MasterCoprocessorEnvironment> c,
TableName tableName)
Called after the deleteTable operation has been requested.
|
void |
postEndpointInvocation(ObserverContext<RegionCoprocessorEnvironment> ctx,
com.google.protobuf.Service service,
String methodName,
com.google.protobuf.Message request,
com.google.protobuf.Message.Builder responseBuilder)
Called after an Endpoint service method is invoked.
|
void |
postGetTableDescriptors(ObserverContext<MasterCoprocessorEnvironment> ctx,
List<TableName> tableNamesList,
List<HTableDescriptor> descriptors,
String regex)
Called after a getTableDescriptors request has been processed.
|
void |
postGetTableNames(ObserverContext<MasterCoprocessorEnvironment> ctx,
List<HTableDescriptor> descriptors,
String regex)
Called after a getTableNames request has been processed.
|
void |
postListNamespaceDescriptors(ObserverContext<MasterCoprocessorEnvironment> ctx,
List<NamespaceDescriptor> descriptors)
Called after a listNamespaceDescriptors request has been processed.
|
void |
postListProcedures(ObserverContext<MasterCoprocessorEnvironment> ctx,
List<ProcedureInfo> procInfoList)
Called after a listProcedures request has been processed.
|
void |
postLogReplay(ObserverContext<RegionCoprocessorEnvironment> c)
Called after the log replay on the region is over.
|
void |
postMerge(ObserverContext<RegionServerCoprocessorEnvironment> c,
Region regionA,
Region regionB,
Region mergedRegion)
called after the regions merge.
|
void |
postMergeCommit(ObserverContext<RegionServerCoprocessorEnvironment> ctx,
Region regionA,
Region regionB,
Region mergedRegion)
This will be called after PONR step as part of regions merge transaction.
|
void |
postModifyTable(ObserverContext<MasterCoprocessorEnvironment> c,
TableName tableName,
HTableDescriptor htd)
Called after the modifyTable operation has been requested.
|
Cell |
postMutationBeforeWAL(ObserverContext<RegionCoprocessorEnvironment> ctx,
RegionObserver.MutationType opType,
Mutation mutation,
Cell oldCell,
Cell newCell)
Called after a new cell has been created during an increment operation, but before
it is committed to the WAL or memstore.
|
void |
postOpen(ObserverContext<RegionCoprocessorEnvironment> c)
Called after the region is reported as open to the master.
|
void |
postPut(ObserverContext<RegionCoprocessorEnvironment> c,
Put put,
WALEdit edit,
Durability durability)
Called after the client stores a value.
|
void |
postReplicateLogEntries(ObserverContext<RegionServerCoprocessorEnvironment> ctx,
List<org.apache.hadoop.hbase.protobuf.generated.AdminProtos.WALEntry> entries,
CellScanner cells)
This will be called after executing replication request to shipping log entries.
|
void |
postRollBackMerge(ObserverContext<RegionServerCoprocessorEnvironment> ctx,
Region regionA,
Region regionB)
This will be called after the roll back of the regions merge.
|
void |
postRollWALWriterRequest(ObserverContext<RegionServerCoprocessorEnvironment> ctx)
This will be called after executing user request to roll a region server WAL.
|
void |
postScannerClose(ObserverContext<RegionCoprocessorEnvironment> c,
InternalScanner s)
Called after the client closes a scanner.
|
RegionScanner |
postScannerOpen(ObserverContext<RegionCoprocessorEnvironment> c,
Scan scan,
RegionScanner s)
Called after the client opens a new scanner.
|
void |
postSetSplitOrMergeEnabled(ObserverContext<MasterCoprocessorEnvironment> ctx,
boolean newValue,
Admin.MasterSwitchType switchType)
Called after setting split / merge switch
|
void |
postStartMaster(ObserverContext<MasterCoprocessorEnvironment> ctx)
Called immediately after an active master instance has completed
initialization.
|
void |
postTruncateTable(ObserverContext<MasterCoprocessorEnvironment> ctx,
TableName tableName)
Called after the truncateTable operation has been requested.
|
void |
preAbortProcedure(ObserverContext<MasterCoprocessorEnvironment> ctx,
ProcedureExecutor<MasterProcedureEnv> procEnv,
long procId)
Called before a abortProcedure request has been processed.
|
void |
preAddColumn(ObserverContext<MasterCoprocessorEnvironment> c,
TableName tableName,
HColumnDescriptor column)
Called prior to adding a new column family to the table.
|
void |
preAddRSGroup(ObserverContext<MasterCoprocessorEnvironment> ctx,
String name)
Called before a new region server group is added
|
Result |
preAppend(ObserverContext<RegionCoprocessorEnvironment> c,
Append append)
Called before Append.
|
Result |
preAppendAfterRowLock(ObserverContext<RegionCoprocessorEnvironment> c,
Append append)
Called before Append but after acquiring rowlock.
|
void |
preAssign(ObserverContext<MasterCoprocessorEnvironment> c,
HRegionInfo regionInfo)
Called prior to assigning a specific region.
|
void |
preBalance(ObserverContext<MasterCoprocessorEnvironment> c)
Called prior to requesting rebalancing of the cluster regions, though after
the initial checks for regions in transition and the balance switch flag.
|
void |
preBalanceRSGroup(ObserverContext<MasterCoprocessorEnvironment> ctx,
String groupName)
Called before a region server group is removed
|
boolean |
preBalanceSwitch(ObserverContext<MasterCoprocessorEnvironment> c,
boolean newValue)
Called prior to modifying the flag used to enable/disable region balancing.
|
void |
preBatchMutate(ObserverContext<RegionCoprocessorEnvironment> c,
MiniBatchOperationInProgress<Mutation> miniBatchOp)
This will be called for every batch mutation operation happening at the server.
|
void |
preBulkLoadHFile(ObserverContext<RegionCoprocessorEnvironment> ctx,
List<Pair<byte[],String>> familyPaths)
Verifies user has CREATE privileges on
the Column Families involved in the bulkLoadHFile
request.
|
boolean |
preCheckAndDelete(ObserverContext<RegionCoprocessorEnvironment> c,
byte[] row,
byte[] family,
byte[] qualifier,
CompareFilter.CompareOp compareOp,
ByteArrayComparable comparator,
Delete delete,
boolean result)
Called before checkAndDelete.
|
boolean |
preCheckAndDeleteAfterRowLock(ObserverContext<RegionCoprocessorEnvironment> c,
byte[] row,
byte[] family,
byte[] qualifier,
CompareFilter.CompareOp compareOp,
ByteArrayComparable comparator,
Delete delete,
boolean result)
Called before checkAndDelete but after acquiring rowock.
|
boolean |
preCheckAndPut(ObserverContext<RegionCoprocessorEnvironment> c,
byte[] row,
byte[] family,
byte[] qualifier,
CompareFilter.CompareOp compareOp,
ByteArrayComparable comparator,
Put put,
boolean result)
Called before checkAndPut.
|
boolean |
preCheckAndPutAfterRowLock(ObserverContext<RegionCoprocessorEnvironment> c,
byte[] row,
byte[] family,
byte[] qualifier,
CompareFilter.CompareOp compareOp,
ByteArrayComparable comparator,
Put put,
boolean result)
Called before checkAndPut but after acquiring rowlock.
|
void |
preCleanupBulkLoad(ObserverContext<RegionCoprocessorEnvironment> ctx,
org.apache.hadoop.hbase.protobuf.generated.SecureBulkLoadProtos.CleanupBulkLoadRequest request)
Authorization security check for
SecureBulkLoadProtocol.cleanupBulkLoad()
|
void |
preClearDeadServers(ObserverContext<MasterCoprocessorEnvironment> ctx)
Called before clear dead region servers.
|
void |
preCloneSnapshot(ObserverContext<MasterCoprocessorEnvironment> ctx,
org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot,
HTableDescriptor hTableDescriptor)
Called before a snapshot is cloned.
|
void |
preClose(ObserverContext<RegionCoprocessorEnvironment> e,
boolean abortRequested)
Called before the region is reported as closed to the master.
|
InternalScanner |
preCompact(ObserverContext<RegionCoprocessorEnvironment> e,
Store store,
InternalScanner scanner,
ScanType scanType)
Called prior to writing the
StoreFiles selected for compaction into a new
StoreFile. |
void |
preCreateNamespace(ObserverContext<MasterCoprocessorEnvironment> ctx,
NamespaceDescriptor ns)
Called before a new namespace is created by
HMaster. |
void |
preCreateTable(ObserverContext<MasterCoprocessorEnvironment> c,
HTableDescriptor desc,
HRegionInfo[] regions)
Called before a new table is created by
HMaster. |
void |
preDelete(ObserverContext<RegionCoprocessorEnvironment> c,
Delete delete,
WALEdit edit,
Durability durability)
Called before the client deletes a value.
|
void |
preDeleteColumn(ObserverContext<MasterCoprocessorEnvironment> c,
TableName tableName,
byte[] col)
Called prior to deleting the entire column family.
|
void |
preDeleteNamespace(ObserverContext<MasterCoprocessorEnvironment> ctx,
String namespace)
Called before
HMaster deletes a
namespace
It can't bypass the default action, e.g., ctx.bypass() won't have effect. |
void |
preDeleteSnapshot(ObserverContext<MasterCoprocessorEnvironment> ctx,
org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot)
Called before a snapshot is deleted.
|
void |
preDeleteTable(ObserverContext<MasterCoprocessorEnvironment> c,
TableName tableName)
Called before
HMaster deletes a
table. |
void |
preDisableTable(ObserverContext<MasterCoprocessorEnvironment> c,
TableName tableName)
Called prior to disabling a table.
|
void |
preDispatchMerge(ObserverContext<MasterCoprocessorEnvironment> ctx,
HRegionInfo regionA,
HRegionInfo regionB)
Called before dispatching region merge request.
|
void |
preEnableTable(ObserverContext<MasterCoprocessorEnvironment> c,
TableName tableName)
Called prior to enabling a table.
|
com.google.protobuf.Message |
preEndpointInvocation(ObserverContext<RegionCoprocessorEnvironment> ctx,
com.google.protobuf.Service service,
String methodName,
com.google.protobuf.Message request)
Called before an Endpoint service method is invoked.
|
boolean |
preExists(ObserverContext<RegionCoprocessorEnvironment> c,
Get get,
boolean exists)
Called before the client tests for existence using a Get.
|
void |
preFlush(ObserverContext<RegionCoprocessorEnvironment> e)
Called before the memstore is flushed to disk.
|
void |
preGetClosestRowBefore(ObserverContext<RegionCoprocessorEnvironment> c,
byte[] row,
byte[] family,
Result result)
Called before a client makes a GetClosestRowBefore request.
|
void |
preGetNamespaceDescriptor(ObserverContext<MasterCoprocessorEnvironment> ctx,
String namespace)
Called before a getNamespaceDescriptor request has been processed.
|
void |
preGetOp(ObserverContext<RegionCoprocessorEnvironment> c,
Get get,
List<Cell> result)
Called before the client performs a Get
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained
coprocessors
|
void |
preGetTableDescriptors(ObserverContext<MasterCoprocessorEnvironment> ctx,
List<TableName> tableNamesList,
List<HTableDescriptor> descriptors,
String regex)
Called before a getTableDescriptors request has been processed.
|
Result |
preIncrement(ObserverContext<RegionCoprocessorEnvironment> c,
Increment increment)
Called before Increment.
|
Result |
preIncrementAfterRowLock(ObserverContext<RegionCoprocessorEnvironment> c,
Increment increment)
Called before Increment but after acquiring rowlock.
|
long |
preIncrementColumnValue(ObserverContext<RegionCoprocessorEnvironment> c,
byte[] row,
byte[] family,
byte[] qualifier,
long amount,
boolean writeToWAL)
Called before incrementColumnValue
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained
coprocessors
|
void |
preListProcedures(ObserverContext<MasterCoprocessorEnvironment> ctx)
Called before a listProcedures request has been processed.
|
void |
preListSnapshot(ObserverContext<MasterCoprocessorEnvironment> ctx,
org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot)
Called before listSnapshots request has been processed.
|
void |
preMerge(ObserverContext<RegionServerCoprocessorEnvironment> ctx,
Region regionA,
Region regionB)
Called before the regions merge.
|
void |
preMergeCommit(ObserverContext<RegionServerCoprocessorEnvironment> ctx,
Region regionA,
Region regionB,
List<Mutation> metaEntries)
This will be called before PONR step as part of regions merge transaction.
|
void |
preModifyColumn(ObserverContext<MasterCoprocessorEnvironment> c,
TableName tableName,
HColumnDescriptor descriptor)
Called prior to modifying a column family's attributes.
|
void |
preModifyNamespace(ObserverContext<MasterCoprocessorEnvironment> ctx,
NamespaceDescriptor ns)
Called prior to modifying a namespace's properties.
|
void |
preModifyTable(ObserverContext<MasterCoprocessorEnvironment> c,
TableName tableName,
HTableDescriptor htd)
Called prior to modifying a table's properties.
|
void |
preMove(ObserverContext<MasterCoprocessorEnvironment> c,
HRegionInfo region,
ServerName srcServer,
ServerName destServer)
Called prior to moving a given region from one region server to another.
|
void |
preMoveServers(ObserverContext<MasterCoprocessorEnvironment> ctx,
Set<Address> servers,
String targetGroup)
Called before servers are moved to target region server group
|
void |
preMoveServersAndTables(ObserverContext<MasterCoprocessorEnvironment> ctx,
Set<Address> servers,
Set<TableName> tables,
String targetGroup)
Called before servers are moved to target region server group
|
void |
preMoveTables(ObserverContext<MasterCoprocessorEnvironment> ctx,
Set<TableName> tables,
String targetGroup)
Called before tables are moved to target region server group
|
void |
preOpen(ObserverContext<RegionCoprocessorEnvironment> e)
Called before the region is reported as open to the master.
|
void |
prePrepareBulkLoad(ObserverContext<RegionCoprocessorEnvironment> ctx,
org.apache.hadoop.hbase.protobuf.generated.SecureBulkLoadProtos.PrepareBulkLoadRequest request)
Authorization check for
SecureBulkLoadProtocol.prepareBulkLoad()
|
void |
prePut(ObserverContext<RegionCoprocessorEnvironment> c,
Put put,
WALEdit edit,
Durability durability)
Called before the client stores a value.
|
void |
preRegionOffline(ObserverContext<MasterCoprocessorEnvironment> c,
HRegionInfo regionInfo)
Called prior to marking a given region as offline.
|
void |
preRemoveRSGroup(ObserverContext<MasterCoprocessorEnvironment> ctx,
String name)
Called before a region server group is removed
|
void |
preRemoveServers(ObserverContext<MasterCoprocessorEnvironment> ctx,
Set<Address> servers)
Called before servers are removed from rsgroup
|
void |
preReplicateLogEntries(ObserverContext<RegionServerCoprocessorEnvironment> ctx,
List<org.apache.hadoop.hbase.protobuf.generated.AdminProtos.WALEntry> entries,
CellScanner cells)
This will be called before executing replication request to shipping log entries.
|
void |
preRestoreSnapshot(ObserverContext<MasterCoprocessorEnvironment> ctx,
org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot,
HTableDescriptor hTableDescriptor)
Called before a snapshot is restored.
|
void |
preRollBackMerge(ObserverContext<RegionServerCoprocessorEnvironment> ctx,
Region regionA,
Region regionB)
This will be called before the roll back of the regions merge.
|
void |
preRollWALWriterRequest(ObserverContext<RegionServerCoprocessorEnvironment> ctx)
This will be called before executing user request to roll a region server WAL.
|
void |
preScannerClose(ObserverContext<RegionCoprocessorEnvironment> c,
InternalScanner s)
Called before the client closes a scanner.
|
boolean |
preScannerNext(ObserverContext<RegionCoprocessorEnvironment> c,
InternalScanner s,
List<Result> result,
int limit,
boolean hasNext)
Called before the client asks for the next row on a scanner.
|
RegionScanner |
preScannerOpen(ObserverContext<RegionCoprocessorEnvironment> c,
Scan scan,
RegionScanner s)
Called before the client opens a new scanner.
|
void |
preSetNamespaceQuota(ObserverContext<MasterCoprocessorEnvironment> ctx,
String namespace,
org.apache.hadoop.hbase.protobuf.generated.QuotaProtos.Quotas quotas)
Called before the quota for the namespace is stored.
|
boolean |
preSetSplitOrMergeEnabled(ObserverContext<MasterCoprocessorEnvironment> ctx,
boolean newValue,
Admin.MasterSwitchType switchType)
Called prior to setting split / merge switch
|
void |
preSetTableQuota(ObserverContext<MasterCoprocessorEnvironment> ctx,
TableName tableName,
org.apache.hadoop.hbase.protobuf.generated.QuotaProtos.Quotas quotas)
Called before the quota for the table is stored.
|
void |
preSetUserQuota(ObserverContext<MasterCoprocessorEnvironment> ctx,
String userName,
org.apache.hadoop.hbase.protobuf.generated.QuotaProtos.Quotas quotas)
Called before the quota for the user is stored.
|
void |
preSetUserQuota(ObserverContext<MasterCoprocessorEnvironment> ctx,
String userName,
String namespace,
org.apache.hadoop.hbase.protobuf.generated.QuotaProtos.Quotas quotas)
Called before the quota for the user on the specified namespace is stored.
|
void |
preSetUserQuota(ObserverContext<MasterCoprocessorEnvironment> ctx,
String userName,
TableName tableName,
org.apache.hadoop.hbase.protobuf.generated.QuotaProtos.Quotas quotas)
Called before the quota for the user on the specified table is stored.
|
void |
preShutdown(ObserverContext<MasterCoprocessorEnvironment> c)
Called prior to shutting down the full HBase cluster, including this
HMaster process. |
void |
preSnapshot(ObserverContext<MasterCoprocessorEnvironment> ctx,
org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot,
HTableDescriptor hTableDescriptor)
Called before a new snapshot is taken.
|
void |
preSplit(ObserverContext<RegionCoprocessorEnvironment> e)
Called before the region is split.
|
void |
preSplit(ObserverContext<RegionCoprocessorEnvironment> e,
byte[] splitRow)
Called before the region is split.
|
void |
preStopMaster(ObserverContext<MasterCoprocessorEnvironment> c)
Called immediately prior to stopping this
HMaster process. |
void |
preStopRegionServer(ObserverContext<RegionServerCoprocessorEnvironment> env)
Called before stopping region server.
|
void |
preTableFlush(ObserverContext<MasterCoprocessorEnvironment> ctx,
TableName tableName)
Called before the table memstore is flushed to disk.
|
void |
preTruncateTable(ObserverContext<MasterCoprocessorEnvironment> c,
TableName tableName)
Called before
HMaster truncates a
table. |
void |
preUnassign(ObserverContext<MasterCoprocessorEnvironment> c,
HRegionInfo regionInfo,
boolean force)
Called prior to unassigning a given region.
|
void |
requireAccess(String request,
TableName tableName,
Permission.Action... permissions)
Authorizes that the current user has any of the given permissions to access the table.
|
void |
requireGlobalPermission(String request,
Permission.Action perm,
String namespace)
Checks that the user has the given global permission.
|
void |
requireGlobalPermission(String request,
Permission.Action perm,
TableName tableName,
Map<byte[],? extends Collection<byte[]>> familyMap)
Checks that the user has the given global permission.
|
void |
requireNamespacePermission(String request,
String namespace,
Permission.Action... permissions)
Checks that the user has the given global or namespace permission.
|
void |
requireNamespacePermission(String request,
String namespace,
TableName tableName,
Map<byte[],? extends Collection<byte[]>> familyMap,
Permission.Action... permissions)
Checks that the user has the given global or namespace permission.
|
void |
requirePermission(String request,
Permission.Action perm)
Authorizes that the current user has global privileges for the given action.
|
void |
requirePermission(String request,
TableName tableName,
byte[] family,
byte[] qualifier,
Permission.Action... permissions)
Authorizes that the current user has any of the given permissions for the
given table, column family and column qualifier.
|
void |
requireTablePermission(String request,
TableName tableName,
byte[] family,
byte[] qualifier,
Permission.Action... permissions)
Authorizes that the current user has any of the given permissions for the
given table, column family and column qualifier.
|
void |
revoke(com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.RevokeRequest request,
com.google.protobuf.RpcCallback<org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.RevokeResponse> done) |
void |
start(CoprocessorEnvironment env) |
void |
stop(CoprocessorEnvironment env) |
postAddColumn, postAddColumnHandler, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postCloneSnapshot, postCreateNamespace, postCreateTable, postDeleteColumnHandler, postDeleteSnapshot, postDeleteTableHandler, postDisableTable, postDisableTableHandler, postDispatchMerge, postEnableTable, postEnableTableHandler, postGetClusterStatus, postGetNamespaceDescriptor, postGetTableDescriptors, postListSnapshot, postModifyColumn, postModifyColumnHandler, postModifyNamespace, postModifyTableHandler, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRegionOffline, postRemoveRSGroup, postRemoveServers, postRestoreSnapshot, postSetNamespaceQuota, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postTableFlush, postTruncateTableHandler, postUnassign, preAddColumnHandler, preCreateTableHandler, preDeleteColumnHandler, preDeleteTableHandler, preDisableTableHandler, preEnableTableHandler, preGetClusterStatus, preGetTableDescriptors, preGetTableNames, preListNamespaceDescriptors, preMasterInitialization, preModifyColumnHandler, preModifyTableHandler, preTruncateTableHandlerpostAppend, postBatchMutate, postBatchMutateIndispensably, postBulkLoadHFile, postCheckAndDelete, postCheckAndPut, postClose, postCloseRegionOperation, postCommitStoreFile, postCompact, postCompact, postCompactSelection, postCompactSelection, postCompleteSplit, postExists, postFlush, postFlush, postGetClosestRowBefore, postGetOp, postIncrement, postIncrementColumnValue, postInstantiateDeleteTracker, postRollBackSplit, postScannerFilterRow, postScannerNext, postSplit, postStartRegionOperation, postStoreFileReaderOpen, postWALRestore, postWALRestore, preCommitStoreFile, preCompact, preCompactScannerOpen, preCompactScannerOpen, preCompactScannerOpen, preCompactSelection, preCompactSelection, preFlush, preFlushScannerOpen, preFlushScannerOpen, prePrepareTimeStampForDeleteVersion, preRollBackSplit, preSplitAfterPONR, preSplitBeforePONR, preStoreFileReaderOpen, preStoreScannerOpen, preWALRestore, preWALRestorepublic static boolean isAuthorizationSupported(org.apache.hadoop.conf.Configuration conf)
public static boolean isCellAuthorizationSupported(org.apache.hadoop.conf.Configuration conf)
public Region getRegion()
public TableAuthManager getAuthManager()
public void requirePermission(String request, TableName tableName, byte[] family, byte[] qualifier, Permission.Action... permissions) throws IOException
tableName - Table requestedfamily - Column family requestedqualifier - Column qualifier requestedIOException - if obtaining the current user failsAccessDeniedException - if user has no authorizationpublic void requireTablePermission(String request, TableName tableName, byte[] family, byte[] qualifier, Permission.Action... permissions) throws IOException
tableName - Table requestedfamily - Column family paramqualifier - Column qualifier paramIOException - if obtaining the current user failsAccessDeniedException - if user has no authorizationpublic void requireAccess(String request, TableName tableName, Permission.Action... permissions) throws IOException
tableName - Table requestedpermissions - Actions being requestedIOException - if obtaining the current user failsAccessDeniedException - if user has no authorizationpublic void requirePermission(String request, Permission.Action perm) throws IOException
perm - The action being requestedIOException - if obtaining the current user failsAccessDeniedException - if authorization is deniedpublic void requireGlobalPermission(String request, Permission.Action perm, TableName tableName, Map<byte[],? extends Collection<byte[]>> familyMap) throws IOException
perm - Action being requestedtableName - Affected table name.familyMap - Affected column families.IOExceptionpublic void requireGlobalPermission(String request, Permission.Action perm, String namespace) throws IOException
perm - Action being requestednamespace - The given namespaceIOExceptionpublic void requireNamespacePermission(String request, String namespace, Permission.Action... permissions) throws IOException
namespace - The given namespacepermissions - Actions being requestedIOExceptionpublic void requireNamespacePermission(String request, String namespace, TableName tableName, Map<byte[],? extends Collection<byte[]>> familyMap, Permission.Action... permissions) throws IOException
namespace - The given namespacepermissions - Actions being requestedIOExceptionpublic void start(CoprocessorEnvironment env) throws IOException
start 在接口中 Coprocessorstart 在类中 BaseMasterAndRegionObserverIOExceptionpublic void stop(CoprocessorEnvironment env)
stop 在接口中 Coprocessorstop 在类中 BaseMasterAndRegionObserverpublic void preCreateTable(ObserverContext<MasterCoprocessorEnvironment> c, HTableDescriptor desc, HRegionInfo[] regions) throws IOException
MasterObserverHMaster. Called as part of create
table RPC call.
It can't bypass the default action, e.g., ctx.bypass() won't have effect.preCreateTable 在接口中 MasterObserverpreCreateTable 在类中 BaseMasterAndRegionObserverc - the environment to interact with the framework and masterdesc - the HTableDescriptor for the tableregions - the initial regions created for the tableIOExceptionpublic void postCreateTableHandler(ObserverContext<MasterCoprocessorEnvironment> c, HTableDescriptor desc, HRegionInfo[] regions) throws IOException
MasterObserverpostCreateTableHandler 在接口中 MasterObserverpostCreateTableHandler 在类中 BaseMasterAndRegionObserverc - the environment to interact with the framework and masterdesc - the HTableDescriptor for the tableregions - the initial regions created for the tableIOExceptionpublic void preDeleteTable(ObserverContext<MasterCoprocessorEnvironment> c, TableName tableName) throws IOException
MasterObserverHMaster deletes a
table. Called as part of delete table RPC call.
It can't bypass the default action, e.g., ctx.bypass() won't have effect.preDeleteTable 在接口中 MasterObserverpreDeleteTable 在类中 BaseMasterAndRegionObserverc - the environment to interact with the framework and mastertableName - the name of the tableIOExceptionpublic void postDeleteTable(ObserverContext<MasterCoprocessorEnvironment> c, TableName tableName) throws IOException
MasterObserverpostDeleteTable 在接口中 MasterObserverpostDeleteTable 在类中 BaseMasterAndRegionObserverc - the environment to interact with the framework and mastertableName - the name of the tableIOExceptionpublic void preTruncateTable(ObserverContext<MasterCoprocessorEnvironment> c, TableName tableName) throws IOException
MasterObserverHMaster truncates a
table. Called as part of truncate table RPC call.
It can't bypass the default action, e.g., ctx.bypass() won't have effect.preTruncateTable 在接口中 MasterObserverpreTruncateTable 在类中 BaseMasterAndRegionObserverc - the environment to interact with the framework and mastertableName - the name of the tableIOExceptionpublic void postTruncateTable(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException
MasterObserverpostTruncateTable 在接口中 MasterObserverpostTruncateTable 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and mastertableName - the name of the tableIOExceptionpublic void preModifyTable(ObserverContext<MasterCoprocessorEnvironment> c, TableName tableName, HTableDescriptor htd) throws IOException
MasterObserverpreModifyTable 在接口中 MasterObserverpreModifyTable 在类中 BaseMasterAndRegionObserverc - the environment to interact with the framework and mastertableName - the name of the tablehtd - the HTableDescriptorIOExceptionpublic void postModifyTable(ObserverContext<MasterCoprocessorEnvironment> c, TableName tableName, HTableDescriptor htd) throws IOException
MasterObserverpostModifyTable 在接口中 MasterObserverpostModifyTable 在类中 BaseMasterAndRegionObserverc - the environment to interact with the framework and mastertableName - the name of the tablehtd - the HTableDescriptorIOExceptionpublic void preAddColumn(ObserverContext<MasterCoprocessorEnvironment> c, TableName tableName, HColumnDescriptor column) throws IOException
MasterObserverpreAddColumn 在接口中 MasterObserverpreAddColumn 在类中 BaseMasterAndRegionObserverc - the environment to interact with the framework and mastertableName - the name of the tablecolumn - the HColumnDescriptorIOExceptionpublic void preModifyColumn(ObserverContext<MasterCoprocessorEnvironment> c, TableName tableName, HColumnDescriptor descriptor) throws IOException
MasterObserverpreModifyColumn 在接口中 MasterObserverpreModifyColumn 在类中 BaseMasterAndRegionObserverc - the environment to interact with the framework and mastertableName - the name of the tabledescriptor - the HColumnDescriptorIOExceptionpublic void preDeleteColumn(ObserverContext<MasterCoprocessorEnvironment> c, TableName tableName, byte[] col) throws IOException
MasterObserverpreDeleteColumn 在接口中 MasterObserverpreDeleteColumn 在类中 BaseMasterAndRegionObserverc - the environment to interact with the framework and mastertableName - the name of the tablecol - the columnIOExceptionpublic void postDeleteColumn(ObserverContext<MasterCoprocessorEnvironment> c, TableName tableName, byte[] col) throws IOException
MasterObserverpostDeleteColumn 在接口中 MasterObserverpostDeleteColumn 在类中 BaseMasterAndRegionObserverc - the environment to interact with the framework and mastertableName - the name of the tablecol - the columnIOExceptionpublic void preEnableTable(ObserverContext<MasterCoprocessorEnvironment> c, TableName tableName) throws IOException
MasterObserverpreEnableTable 在接口中 MasterObserverpreEnableTable 在类中 BaseMasterAndRegionObserverc - the environment to interact with the framework and mastertableName - the name of the tableIOExceptionpublic void preDisableTable(ObserverContext<MasterCoprocessorEnvironment> c, TableName tableName) throws IOException
MasterObserverpreDisableTable 在接口中 MasterObserverpreDisableTable 在类中 BaseMasterAndRegionObserverc - the environment to interact with the framework and mastertableName - the name of the tableIOExceptionpublic void preAbortProcedure(ObserverContext<MasterCoprocessorEnvironment> ctx, ProcedureExecutor<MasterProcedureEnv> procEnv, long procId) throws IOException
MasterObserverpreAbortProcedure 在接口中 MasterObserverpreAbortProcedure 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and masterIOExceptionpublic void postAbortProcedure(ObserverContext<MasterCoprocessorEnvironment> ctx) throws IOException
MasterObserverpostAbortProcedure 在接口中 MasterObserverpostAbortProcedure 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and masterIOExceptionpublic void preListProcedures(ObserverContext<MasterCoprocessorEnvironment> ctx) throws IOException
MasterObserverpreListProcedures 在接口中 MasterObserverpreListProcedures 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and masterIOExceptionpublic void postListProcedures(ObserverContext<MasterCoprocessorEnvironment> ctx, List<ProcedureInfo> procInfoList) throws IOException
MasterObserverpostListProcedures 在接口中 MasterObserverpostListProcedures 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and masterprocInfoList - the list of procedures about to be returnedIOExceptionpublic void preMove(ObserverContext<MasterCoprocessorEnvironment> c, HRegionInfo region, ServerName srcServer, ServerName destServer) throws IOException
MasterObserverpreMove 在接口中 MasterObserverpreMove 在类中 BaseMasterAndRegionObserverc - the environment to interact with the framework and masterregion - the HRegionInfosrcServer - the source ServerNamedestServer - the destination ServerNameIOExceptionpublic void preAssign(ObserverContext<MasterCoprocessorEnvironment> c, HRegionInfo regionInfo) throws IOException
MasterObserverpreAssign 在接口中 MasterObserverpreAssign 在类中 BaseMasterAndRegionObserverc - the environment to interact with the framework and masterregionInfo - the regionInfo of the regionIOExceptionpublic void preUnassign(ObserverContext<MasterCoprocessorEnvironment> c, HRegionInfo regionInfo, boolean force) throws IOException
MasterObserverpreUnassign 在接口中 MasterObserverpreUnassign 在类中 BaseMasterAndRegionObserverc - the environment to interact with the framework and masterforce - whether to force unassignment or notIOExceptionpublic void preRegionOffline(ObserverContext<MasterCoprocessorEnvironment> c, HRegionInfo regionInfo) throws IOException
MasterObserverctx.bypass() will not have any
impact on this hook.preRegionOffline 在接口中 MasterObserverpreRegionOffline 在类中 BaseMasterAndRegionObserverc - the environment to interact with the framework and masterIOExceptionpublic boolean preSetSplitOrMergeEnabled(ObserverContext<MasterCoprocessorEnvironment> ctx, boolean newValue, Admin.MasterSwitchType switchType) throws IOException
MasterObserverpreSetSplitOrMergeEnabled 在接口中 MasterObserverpreSetSplitOrMergeEnabled 在类中 BaseMasterAndRegionObserverctx - the coprocessor instance's environmentnewValue - the new value submitted in the callswitchType - type of switchIOExceptionpublic void postSetSplitOrMergeEnabled(ObserverContext<MasterCoprocessorEnvironment> ctx, boolean newValue, Admin.MasterSwitchType switchType) throws IOException
MasterObserverpostSetSplitOrMergeEnabled 在接口中 MasterObserverpostSetSplitOrMergeEnabled 在类中 BaseMasterAndRegionObserverctx - the coprocessor instance's environmentnewValue - the new value submitted in the callswitchType - type of switchIOExceptionpublic void preBalance(ObserverContext<MasterCoprocessorEnvironment> c) throws IOException
MasterObserverpreBalance 在接口中 MasterObserverpreBalance 在类中 BaseMasterAndRegionObserverc - the environment to interact with the framework and masterIOExceptionpublic boolean preBalanceSwitch(ObserverContext<MasterCoprocessorEnvironment> c, boolean newValue) throws IOException
MasterObserverpreBalanceSwitch 在接口中 MasterObserverpreBalanceSwitch 在类中 BaseMasterAndRegionObserverc - the coprocessor instance's environmentnewValue - the new flag value submitted in the callIOExceptionpublic void preShutdown(ObserverContext<MasterCoprocessorEnvironment> c) throws IOException
MasterObserverHMaster process.preShutdown 在接口中 MasterObserverpreShutdown 在类中 BaseMasterAndRegionObserverIOExceptionpublic void preStopMaster(ObserverContext<MasterCoprocessorEnvironment> c) throws IOException
MasterObserverHMaster process.preStopMaster 在接口中 MasterObserverpreStopMaster 在类中 BaseMasterAndRegionObserverIOExceptionpublic void postStartMaster(ObserverContext<MasterCoprocessorEnvironment> ctx) throws IOException
MasterObserverpostStartMaster 在接口中 MasterObserverpostStartMaster 在类中 BaseMasterAndRegionObserverIOExceptionpublic void preSnapshot(ObserverContext<MasterCoprocessorEnvironment> ctx, org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot, HTableDescriptor hTableDescriptor) throws IOException
MasterObserverpreSnapshot 在接口中 MasterObserverpreSnapshot 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and mastersnapshot - the SnapshotDescriptor for the snapshothTableDescriptor - the hTableDescriptor of the table to snapshotIOExceptionpublic void preListSnapshot(ObserverContext<MasterCoprocessorEnvironment> ctx, org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot) throws IOException
MasterObserverpreListSnapshot 在接口中 MasterObserverpreListSnapshot 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and mastersnapshot - the SnapshotDescriptor of the snapshot to listIOExceptionpublic void preCloneSnapshot(ObserverContext<MasterCoprocessorEnvironment> ctx, org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot, HTableDescriptor hTableDescriptor) throws IOException
MasterObserverpreCloneSnapshot 在接口中 MasterObserverpreCloneSnapshot 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and mastersnapshot - the SnapshotDescriptor for the snapshothTableDescriptor - the hTableDescriptor of the table to createIOExceptionpublic void preRestoreSnapshot(ObserverContext<MasterCoprocessorEnvironment> ctx, org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot, HTableDescriptor hTableDescriptor) throws IOException
MasterObserverpreRestoreSnapshot 在接口中 MasterObserverpreRestoreSnapshot 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and mastersnapshot - the SnapshotDescriptor for the snapshothTableDescriptor - the hTableDescriptor of the table to restoreIOExceptionpublic void preDeleteSnapshot(ObserverContext<MasterCoprocessorEnvironment> ctx, org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot) throws IOException
MasterObserverpreDeleteSnapshot 在接口中 MasterObserverpreDeleteSnapshot 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and mastersnapshot - the SnapshotDescriptor of the snapshot to deleteIOExceptionpublic void preCreateNamespace(ObserverContext<MasterCoprocessorEnvironment> ctx, NamespaceDescriptor ns) throws IOException
MasterObserverHMaster.
It can't bypass the default action, e.g., ctx.bypass() won't have effect.preCreateNamespace 在接口中 MasterObserverpreCreateNamespace 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and masterns - the NamespaceDescriptor for the tableIOExceptionpublic void preDeleteNamespace(ObserverContext<MasterCoprocessorEnvironment> ctx, String namespace) throws IOException
MasterObserverHMaster deletes a
namespace
It can't bypass the default action, e.g., ctx.bypass() won't have effect.preDeleteNamespace 在接口中 MasterObserverpreDeleteNamespace 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and masternamespace - the name of the namespaceIOExceptionpublic void postDeleteNamespace(ObserverContext<MasterCoprocessorEnvironment> ctx, String namespace) throws IOException
MasterObserverpostDeleteNamespace 在接口中 MasterObserverpostDeleteNamespace 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and masternamespace - the name of the namespaceIOExceptionpublic void preModifyNamespace(ObserverContext<MasterCoprocessorEnvironment> ctx, NamespaceDescriptor ns) throws IOException
MasterObserverpreModifyNamespace 在接口中 MasterObserverpreModifyNamespace 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and masterns - the NamespaceDescriptorIOExceptionpublic void preGetNamespaceDescriptor(ObserverContext<MasterCoprocessorEnvironment> ctx, String namespace) throws IOException
MasterObserverpreGetNamespaceDescriptor 在接口中 MasterObserverpreGetNamespaceDescriptor 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and masternamespace - the name of the namespaceIOExceptionpublic void postListNamespaceDescriptors(ObserverContext<MasterCoprocessorEnvironment> ctx, List<NamespaceDescriptor> descriptors) throws IOException
MasterObserverpostListNamespaceDescriptors 在接口中 MasterObserverpostListNamespaceDescriptors 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and masterdescriptors - the list of descriptors about to be returnedIOExceptionpublic void preTableFlush(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException
MasterObserverpreTableFlush 在接口中 MasterObserverpreTableFlush 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and mastertableName - the name of the tableIOExceptionpublic void preOpen(ObserverContext<RegionCoprocessorEnvironment> e) throws IOException
RegionObserverpreOpen 在接口中 RegionObserverpreOpen 在类中 BaseRegionObservere - the environment provided by the region serverIOException - if an error occurred on the coprocessorpublic void postOpen(ObserverContext<RegionCoprocessorEnvironment> c)
RegionObserverpostOpen 在接口中 RegionObserverpostOpen 在类中 BaseRegionObserverc - the environment provided by the region serverpublic void postLogReplay(ObserverContext<RegionCoprocessorEnvironment> c)
RegionObserverpostLogReplay 在接口中 RegionObserverpostLogReplay 在类中 BaseRegionObserverc - the environment provided by the region serverpublic void preFlush(ObserverContext<RegionCoprocessorEnvironment> e) throws IOException
RegionObserverpreFlush 在接口中 RegionObserverpreFlush 在类中 BaseRegionObservere - the environment provided by the region serverIOException - if an error occurred on the coprocessorpublic void preSplit(ObserverContext<RegionCoprocessorEnvironment> e) throws IOException
RegionObserverpreSplit 在接口中 RegionObserverpreSplit 在类中 BaseRegionObservere - the environment provided by the region server
(e.getRegion() returns the parent region)IOException - if an error occurred on the coprocessorpublic void preSplit(ObserverContext<RegionCoprocessorEnvironment> e, byte[] splitRow) throws IOException
RegionObserverpreSplit 在接口中 RegionObserverpreSplit 在类中 BaseRegionObservere - the environment provided by the region server
(e.getRegion() returns the parent region)IOException - if an error occurred on the coprocessorpublic InternalScanner preCompact(ObserverContext<RegionCoprocessorEnvironment> e, Store store, InternalScanner scanner, ScanType scanType) throws IOException
RegionObserverStoreFiles selected for compaction into a new
StoreFile. To override or modify the compaction process, implementing classes have two
options:
InternalScanner with a custom implementation that is returned
from this method. The custom scanner can then inspect
KeyValues from the wrapped
scanner, applying its own policy to what gets written.ObserverContext.bypass() and provide a
custom implementation for writing of new StoreFiles. Note: any implementations
bypassing core compaction using this approach must write out new store files themselves or the
existing data will no longer be available after compaction.preCompact 在接口中 RegionObserverpreCompact 在类中 BaseRegionObservere - the environment provided by the region serverstore - the store being compactedscanner - the scanner over existing data used in the store file rewritingscanType - type of Scannull unless the
implementation is writing new store files on its own.IOException - if an error occurred on the coprocessorpublic void preGetClosestRowBefore(ObserverContext<RegionCoprocessorEnvironment> c, byte[] row, byte[] family, Result result) throws IOException
RegionObserverCall CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
preGetClosestRowBefore 在接口中 RegionObserverpreGetClosestRowBefore 在类中 BaseRegionObserverc - the environment provided by the region serverrow - the rowfamily - the familyresult - The result to return to the client if default processing
is bypassed. Can be modified. Will not be used if default processing
is not bypassed.IOException - if an error occurred on the coprocessorpublic void preGetOp(ObserverContext<RegionCoprocessorEnvironment> c, Get get, List<Cell> result) throws IOException
RegionObserverCall CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
preGetOp 在接口中 RegionObserverpreGetOp 在类中 BaseRegionObserverc - the environment provided by the region serverget - the Get requestresult - The result to return to the client if default processing
is bypassed. Can be modified. Will not be used if default processing
is not bypassed.IOException - if an error occurred on the coprocessorpublic boolean preExists(ObserverContext<RegionCoprocessorEnvironment> c, Get get, boolean exists) throws IOException
RegionObserverCall CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
preExists 在接口中 RegionObserverpreExists 在类中 BaseRegionObserverc - the environment provided by the region serverget - the Get requestIOException - if an error occurred on the coprocessorpublic void prePut(ObserverContext<RegionCoprocessorEnvironment> c, Put put, WALEdit edit, Durability durability) throws IOException
RegionObserverCall CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
prePut 在接口中 RegionObserverprePut 在类中 BaseRegionObserverc - the environment provided by the region serverput - The Put objectedit - The WALEdit object that will be written to the waldurability - Persistence guarantee for this PutIOException - if an error occurred on the coprocessorpublic void postPut(ObserverContext<RegionCoprocessorEnvironment> c, Put put, WALEdit edit, Durability durability)
RegionObserverCall CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
postPut 在接口中 RegionObserverpostPut 在类中 BaseRegionObserverc - the environment provided by the region serverput - The Put objectedit - The WALEdit object for the waldurability - Persistence guarantee for this Putpublic void preDelete(ObserverContext<RegionCoprocessorEnvironment> c, Delete delete, WALEdit edit, Durability durability) throws IOException
RegionObserverCall CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
preDelete 在接口中 RegionObserverpreDelete 在类中 BaseRegionObserverc - the environment provided by the region serverdelete - The Delete objectedit - The WALEdit object for the waldurability - Persistence guarantee for this DeleteIOException - if an error occurred on the coprocessorpublic void preBatchMutate(ObserverContext<RegionCoprocessorEnvironment> c, MiniBatchOperationInProgress<Mutation> miniBatchOp) throws IOException
RegionObserverMiniBatchOperationInProgress.setOperationStatus(int, OperationStatus)),
RegionObserver can make Region to skip these Mutations.preBatchMutate 在接口中 RegionObserverpreBatchMutate 在类中 BaseRegionObserverc - the environment provided by the region serverminiBatchOp - batch of Mutations getting applied to region.IOException - if an error occurred on the coprocessorpublic void postDelete(ObserverContext<RegionCoprocessorEnvironment> c, Delete delete, WALEdit edit, Durability durability) throws IOException
RegionObserverCall CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
postDelete 在接口中 RegionObserverpostDelete 在类中 BaseRegionObserverc - the environment provided by the region serverdelete - The Delete objectedit - The WALEdit object for the waldurability - Persistence guarantee for this DeleteIOException - if an error occurred on the coprocessorpublic boolean preCheckAndPut(ObserverContext<RegionCoprocessorEnvironment> c, byte[] row, byte[] family, byte[] qualifier, CompareFilter.CompareOp compareOp, ByteArrayComparable comparator, Put put, boolean result) throws IOException
RegionObserverCall CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
preCheckAndPut 在接口中 RegionObserverpreCheckAndPut 在类中 BaseRegionObserverc - the environment provided by the region serverrow - row to checkfamily - column familyqualifier - column qualifiercompareOp - the comparison operationcomparator - the comparatorput - data to put if check succeedsIOException - if an error occurred on the coprocessorpublic boolean preCheckAndPutAfterRowLock(ObserverContext<RegionCoprocessorEnvironment> c, byte[] row, byte[] family, byte[] qualifier, CompareFilter.CompareOp compareOp, ByteArrayComparable comparator, Put put, boolean result) throws IOException
RegionObserverNote: Caution to be taken for not doing any long time operation in this hook. Row will be locked for longer time. Trying to acquire lock on another row, within this, can lead to potential deadlock.
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
preCheckAndPutAfterRowLock 在接口中 RegionObserverpreCheckAndPutAfterRowLock 在类中 BaseRegionObserverc - the environment provided by the region serverrow - row to checkfamily - column familyqualifier - column qualifiercompareOp - the comparison operationcomparator - the comparatorput - data to put if check succeedsIOException - if an error occurred on the coprocessorpublic boolean preCheckAndDelete(ObserverContext<RegionCoprocessorEnvironment> c, byte[] row, byte[] family, byte[] qualifier, CompareFilter.CompareOp compareOp, ByteArrayComparable comparator, Delete delete, boolean result) throws IOException
RegionObserverCall CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
preCheckAndDelete 在接口中 RegionObserverpreCheckAndDelete 在类中 BaseRegionObserverc - the environment provided by the region serverrow - row to checkfamily - column familyqualifier - column qualifiercompareOp - the comparison operationcomparator - the comparatordelete - delete to commit if check succeedsIOException - if an error occurred on the coprocessorpublic boolean preCheckAndDeleteAfterRowLock(ObserverContext<RegionCoprocessorEnvironment> c, byte[] row, byte[] family, byte[] qualifier, CompareFilter.CompareOp compareOp, ByteArrayComparable comparator, Delete delete, boolean result) throws IOException
RegionObserverNote: Caution to be taken for not doing any long time operation in this hook. Row will be locked for longer time. Trying to acquire lock on another row, within this, can lead to potential deadlock.
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
preCheckAndDeleteAfterRowLock 在接口中 RegionObserverpreCheckAndDeleteAfterRowLock 在类中 BaseRegionObserverc - the environment provided by the region serverrow - row to checkfamily - column familyqualifier - column qualifiercompareOp - the comparison operationcomparator - the comparatordelete - delete to commit if check succeedsIOException - if an error occurred on the coprocessorpublic long preIncrementColumnValue(ObserverContext<RegionCoprocessorEnvironment> c, byte[] row, byte[] family, byte[] qualifier, long amount, boolean writeToWAL) throws IOException
RegionObserverCall CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
preIncrementColumnValue 在接口中 RegionObserverpreIncrementColumnValue 在类中 BaseRegionObserverc - the environment provided by the region serverrow - row to checkfamily - column familyqualifier - column qualifieramount - long amount to incrementwriteToWAL - true if the change should be written to the WALIOException - if an error occurred on the coprocessorpublic Result preAppend(ObserverContext<RegionCoprocessorEnvironment> c, Append append) throws IOException
RegionObserverCall CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
preAppend 在接口中 RegionObserverpreAppend 在类中 BaseRegionObserverc - the environment provided by the region serverappend - Append objectIOException - if an error occurred on the coprocessorpublic Result preAppendAfterRowLock(ObserverContext<RegionCoprocessorEnvironment> c, Append append) throws IOException
RegionObserverNote: Caution to be taken for not doing any long time operation in this hook. Row will be locked for longer time. Trying to acquire lock on another row, within this, can lead to potential deadlock.
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
preAppendAfterRowLock 在接口中 RegionObserverpreAppendAfterRowLock 在类中 BaseRegionObserverc - the environment provided by the region serverappend - Append objectIOException - if an error occurred on the coprocessorpublic Result preIncrement(ObserverContext<RegionCoprocessorEnvironment> c, Increment increment) throws IOException
RegionObserverCall CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
preIncrement 在接口中 RegionObserverpreIncrement 在类中 BaseRegionObserverc - the environment provided by the region serverincrement - increment objectIOException - if an error occurred on the coprocessorpublic Result preIncrementAfterRowLock(ObserverContext<RegionCoprocessorEnvironment> c, Increment increment) throws IOException
RegionObserverNote: Caution to be taken for not doing any long time operation in this hook. Row will be locked for longer time. Trying to acquire lock on another row, within this, can lead to potential deadlock.
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
preIncrementAfterRowLock 在接口中 RegionObserverpreIncrementAfterRowLock 在类中 BaseRegionObserverc - the environment provided by the region serverincrement - increment objectIOException - if an error occurred on the coprocessorpublic Cell postMutationBeforeWAL(ObserverContext<RegionCoprocessorEnvironment> ctx, RegionObserver.MutationType opType, Mutation mutation, Cell oldCell, Cell newCell) throws IOException
RegionObserverObserverContext.bypass() has no
effect in this hook.postMutationBeforeWAL 在接口中 RegionObserverpostMutationBeforeWAL 在类中 BaseRegionObserverctx - the environment provided by the region serveropType - the operation typemutation - the current mutationoldCell - old cell containing previous valuenewCell - the new cell containing the computed valueIOExceptionpublic RegionScanner preScannerOpen(ObserverContext<RegionCoprocessorEnvironment> c, Scan scan, RegionScanner s) throws IOException
RegionObserverCall CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
preScannerOpen 在接口中 RegionObserverpreScannerOpen 在类中 BaseRegionObserverc - the environment provided by the region serverscan - the Scan specifications - if not null, the base scannerIOException - if an error occurred on the coprocessorpublic RegionScanner postScannerOpen(ObserverContext<RegionCoprocessorEnvironment> c, Scan scan, RegionScanner s) throws IOException
RegionObserverCall CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
postScannerOpen 在接口中 RegionObserverpostScannerOpen 在类中 BaseRegionObserverc - the environment provided by the region serverscan - the Scan specifications - if not null, the base scannerIOException - if an error occurred on the coprocessorpublic boolean preScannerNext(ObserverContext<RegionCoprocessorEnvironment> c, InternalScanner s, List<Result> result, int limit, boolean hasNext) throws IOException
RegionObserverCall CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
preScannerNext 在接口中 RegionObserverpreScannerNext 在类中 BaseRegionObserverc - the environment provided by the region servers - the scannerresult - The result to return to the client if default processing
is bypassed. Can be modified. Will not be returned if default processing
is not bypassed.limit - the maximum number of results to returnhasNext - the 'has more' indicationIOException - if an error occurred on the coprocessorpublic void preScannerClose(ObserverContext<RegionCoprocessorEnvironment> c, InternalScanner s) throws IOException
RegionObserverCall CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
preScannerClose 在接口中 RegionObserverpreScannerClose 在类中 BaseRegionObserverc - the environment provided by the region servers - the scannerIOException - if an error occurred on the coprocessorpublic void postScannerClose(ObserverContext<RegionCoprocessorEnvironment> c, InternalScanner s) throws IOException
RegionObserverCall CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
postScannerClose 在接口中 RegionObserverpostScannerClose 在类中 BaseRegionObserverc - the environment provided by the region servers - the scannerIOException - if an error occurred on the coprocessorpublic void preBulkLoadHFile(ObserverContext<RegionCoprocessorEnvironment> ctx, List<Pair<byte[],String>> familyPaths) throws IOException
preBulkLoadHFile 在接口中 RegionObserverpreBulkLoadHFile 在类中 BaseRegionObserverfamilyPaths - pairs of { CF, HFile path } submitted for bulk load. Adding
or removing from this list will add or remove HFiles to be bulk loaded.IOExceptionpublic void prePrepareBulkLoad(ObserverContext<RegionCoprocessorEnvironment> ctx, org.apache.hadoop.hbase.protobuf.generated.SecureBulkLoadProtos.PrepareBulkLoadRequest request) throws IOException
prePrepareBulkLoad 在接口中 BulkLoadObserverctx - the contextrequest - the requestIOExceptionpublic void preCleanupBulkLoad(ObserverContext<RegionCoprocessorEnvironment> ctx, org.apache.hadoop.hbase.protobuf.generated.SecureBulkLoadProtos.CleanupBulkLoadRequest request) throws IOException
preCleanupBulkLoad 在接口中 BulkLoadObserverctx - the contextrequest - the requestIOExceptionpublic com.google.protobuf.Message preEndpointInvocation(ObserverContext<RegionCoprocessorEnvironment> ctx, com.google.protobuf.Service service, String methodName, com.google.protobuf.Message request) throws IOException
EndpointObserverObserverContext.bypass() has no
effect in this hook.preEndpointInvocation 在接口中 EndpointObserverctx - the environment provided by the region serverservice - the endpoint servicemethodName - the invoked service methodrequest - the request messageIOExceptionpublic void postEndpointInvocation(ObserverContext<RegionCoprocessorEnvironment> ctx, com.google.protobuf.Service service, String methodName, com.google.protobuf.Message request, com.google.protobuf.Message.Builder responseBuilder) throws IOException
EndpointObserverpostEndpointInvocation 在接口中 EndpointObserverctx - the environment provided by the region serverservice - the endpoint servicemethodName - the invoked service methodrequest - the request messageresponseBuilder - the response message builderIOExceptionpublic void grant(com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.GrantRequest request,
com.google.protobuf.RpcCallback<org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.GrantResponse> done)
public void revoke(com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.RevokeRequest request,
com.google.protobuf.RpcCallback<org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.RevokeResponse> done)
public void getUserPermissions(com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.GetUserPermissionsRequest request,
com.google.protobuf.RpcCallback<org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.GetUserPermissionsResponse> done)
getUserPermissions 在接口中 org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.AccessControlService.Interfacepublic void checkPermissions(com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.CheckPermissionsRequest request,
com.google.protobuf.RpcCallback<org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.CheckPermissionsResponse> done)
checkPermissions 在接口中 org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.AccessControlService.Interfacepublic com.google.protobuf.Service getService()
getService 在接口中 CoprocessorServicepublic void preClose(ObserverContext<RegionCoprocessorEnvironment> e, boolean abortRequested) throws IOException
RegionObserverpreClose 在接口中 RegionObserverpreClose 在类中 BaseRegionObservere - the environment provided by the region serverabortRequested - true if the region server is abortingIOExceptionpublic void preStopRegionServer(ObserverContext<RegionServerCoprocessorEnvironment> env) throws IOException
RegionServerObserverpreStopRegionServer 在接口中 RegionServerObserverenv - An instance of RegionServerCoprocessorEnvironmentIOException - Signals that an I/O exception has occurred.public void preGetTableDescriptors(ObserverContext<MasterCoprocessorEnvironment> ctx, List<TableName> tableNamesList, List<HTableDescriptor> descriptors, String regex) throws IOException
MasterObserverpreGetTableDescriptors 在接口中 MasterObserverpreGetTableDescriptors 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and mastertableNamesList - the list of table names, or null if querying for alldescriptors - an empty list, can be filled with what to return if bypassingregex - regular expression used for filtering the table namesIOExceptionpublic void postGetTableDescriptors(ObserverContext<MasterCoprocessorEnvironment> ctx, List<TableName> tableNamesList, List<HTableDescriptor> descriptors, String regex) throws IOException
MasterObserverpostGetTableDescriptors 在接口中 MasterObserverpostGetTableDescriptors 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and mastertableNamesList - the list of table names, or null if querying for alldescriptors - the list of descriptors about to be returnedregex - regular expression used for filtering the table namesIOExceptionpublic void postGetTableNames(ObserverContext<MasterCoprocessorEnvironment> ctx, List<HTableDescriptor> descriptors, String regex) throws IOException
MasterObserverpostGetTableNames 在接口中 MasterObserverpostGetTableNames 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and masterdescriptors - the list of descriptors about to be returnedregex - regular expression used for filtering the table namesIOExceptionpublic void preDispatchMerge(ObserverContext<MasterCoprocessorEnvironment> ctx, HRegionInfo regionA, HRegionInfo regionB) throws IOException
MasterObserverpreDispatchMerge 在接口中 MasterObserverpreDispatchMerge 在类中 BaseMasterAndRegionObserverctx - coprocessor environmentregionA - first region to be mergedregionB - second region to be mergedIOException - if an error occurred on the coprocessorpublic void preClearDeadServers(ObserverContext<MasterCoprocessorEnvironment> ctx) throws IOException
MasterObserverpreClearDeadServers 在接口中 MasterObserverpreClearDeadServers 在类中 BaseMasterAndRegionObserverIOExceptionpublic void postClearDeadServers(ObserverContext<MasterCoprocessorEnvironment> ctx, List<ServerName> servers, List<ServerName> notClearedServers) throws IOException
MasterObserverpostClearDeadServers 在接口中 MasterObserverpostClearDeadServers 在类中 BaseMasterAndRegionObserverIOExceptionpublic void preMerge(ObserverContext<RegionServerCoprocessorEnvironment> ctx, Region regionA, Region regionB) throws IOException
RegionServerObserverObserverContext.bypass() to skip the merge.preMerge 在接口中 RegionServerObserverIOException - if an error occurred on the coprocessorpublic void postMerge(ObserverContext<RegionServerCoprocessorEnvironment> c, Region regionA, Region regionB, Region mergedRegion) throws IOException
RegionServerObserverpostMerge 在接口中 RegionServerObserverIOExceptionpublic void preMergeCommit(ObserverContext<RegionServerCoprocessorEnvironment> ctx, Region regionA, Region regionB, List<Mutation> metaEntries) throws IOException
RegionServerObserverObserverContext.bypass() rollback the mergepreMergeCommit 在接口中 RegionServerObservermetaEntries - mutations to execute on hbase:meta atomically with regions merge updates.
Any puts or deletes to execute on hbase:meta can be added to the mutations.IOExceptionpublic void postMergeCommit(ObserverContext<RegionServerCoprocessorEnvironment> ctx, Region regionA, Region regionB, Region mergedRegion) throws IOException
RegionServerObserverpostMergeCommit 在接口中 RegionServerObserverIOExceptionpublic void preRollBackMerge(ObserverContext<RegionServerCoprocessorEnvironment> ctx, Region regionA, Region regionB) throws IOException
RegionServerObserverpreRollBackMerge 在接口中 RegionServerObserverIOExceptionpublic void postRollBackMerge(ObserverContext<RegionServerCoprocessorEnvironment> ctx, Region regionA, Region regionB) throws IOException
RegionServerObserverpostRollBackMerge 在接口中 RegionServerObserverIOExceptionpublic void preRollWALWriterRequest(ObserverContext<RegionServerCoprocessorEnvironment> ctx) throws IOException
RegionServerObserverpreRollWALWriterRequest 在接口中 RegionServerObserverctx - An instance of ObserverContextIOException - Signals that an I/O exception has occurred.public void postRollWALWriterRequest(ObserverContext<RegionServerCoprocessorEnvironment> ctx) throws IOException
RegionServerObserverpostRollWALWriterRequest 在接口中 RegionServerObserverctx - An instance of ObserverContextIOException - Signals that an I/O exception has occurred.public ReplicationEndpoint postCreateReplicationEndPoint(ObserverContext<RegionServerCoprocessorEnvironment> ctx, ReplicationEndpoint endpoint)
RegionServerObserverpostCreateReplicationEndPoint 在接口中 RegionServerObserverendpoint - - the base endpoint for replicationpublic void preReplicateLogEntries(ObserverContext<RegionServerCoprocessorEnvironment> ctx, List<org.apache.hadoop.hbase.protobuf.generated.AdminProtos.WALEntry> entries, CellScanner cells) throws IOException
RegionServerObserverpreReplicateLogEntries 在接口中 RegionServerObserverctx - An instance of ObserverContextentries - list of WALEntries to replicatecells - Cells that the WALEntries refer to (if cells is non-null)IOException - Signals that an I/O exception has occurred.public void postReplicateLogEntries(ObserverContext<RegionServerCoprocessorEnvironment> ctx, List<org.apache.hadoop.hbase.protobuf.generated.AdminProtos.WALEntry> entries, CellScanner cells) throws IOException
RegionServerObserverpostReplicateLogEntries 在接口中 RegionServerObserverctx - An instance of ObserverContextentries - list of WALEntries to replicatecells - Cells that the WALEntries refer to (if cells is non-null)IOException - Signals that an I/O exception has occurred.public void preSetUserQuota(ObserverContext<MasterCoprocessorEnvironment> ctx, String userName, org.apache.hadoop.hbase.protobuf.generated.QuotaProtos.Quotas quotas) throws IOException
MasterObserverpreSetUserQuota 在接口中 MasterObserverpreSetUserQuota 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and masteruserName - the name of userquotas - the quota settingsIOExceptionpublic void preSetUserQuota(ObserverContext<MasterCoprocessorEnvironment> ctx, String userName, TableName tableName, org.apache.hadoop.hbase.protobuf.generated.QuotaProtos.Quotas quotas) throws IOException
MasterObserverpreSetUserQuota 在接口中 MasterObserverpreSetUserQuota 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and masteruserName - the name of usertableName - the name of the tablequotas - the quota settingsIOExceptionpublic void preSetUserQuota(ObserverContext<MasterCoprocessorEnvironment> ctx, String userName, String namespace, org.apache.hadoop.hbase.protobuf.generated.QuotaProtos.Quotas quotas) throws IOException
MasterObserverpreSetUserQuota 在接口中 MasterObserverpreSetUserQuota 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and masteruserName - the name of usernamespace - the name of the namespacequotas - the quota settingsIOExceptionpublic void preSetTableQuota(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, org.apache.hadoop.hbase.protobuf.generated.QuotaProtos.Quotas quotas) throws IOException
MasterObserverpreSetTableQuota 在接口中 MasterObserverpreSetTableQuota 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and mastertableName - the name of the tablequotas - the quota settingsIOExceptionpublic void preSetNamespaceQuota(ObserverContext<MasterCoprocessorEnvironment> ctx, String namespace, org.apache.hadoop.hbase.protobuf.generated.QuotaProtos.Quotas quotas) throws IOException
MasterObserverpreSetNamespaceQuota 在接口中 MasterObserverpreSetNamespaceQuota 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and masternamespace - the name of the namespacequotas - the quota settingsIOExceptionpublic void preMoveServersAndTables(ObserverContext<MasterCoprocessorEnvironment> ctx, Set<Address> servers, Set<TableName> tables, String targetGroup) throws IOException
MasterObserverpreMoveServersAndTables 在接口中 MasterObserverpreMoveServersAndTables 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and masterservers - set of servers to movetargetGroup - destination groupIOException - on failurepublic void preMoveServers(ObserverContext<MasterCoprocessorEnvironment> ctx, Set<Address> servers, String targetGroup) throws IOException
MasterObserverpreMoveServers 在接口中 MasterObserverpreMoveServers 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and masterservers - set of servers to movetargetGroup - destination groupIOExceptionpublic void preMoveTables(ObserverContext<MasterCoprocessorEnvironment> ctx, Set<TableName> tables, String targetGroup) throws IOException
MasterObserverpreMoveTables 在接口中 MasterObserverpreMoveTables 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and mastertables - set of tables to movetargetGroup - name of groupIOException - on failurepublic void preRemoveServers(ObserverContext<MasterCoprocessorEnvironment> ctx, Set<Address> servers) throws IOException
MasterObserverpreRemoveServers 在接口中 MasterObserverpreRemoveServers 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and masterservers - set of decommissioned servers to removeIOExceptionpublic void preAddRSGroup(ObserverContext<MasterCoprocessorEnvironment> ctx, String name) throws IOException
MasterObserverpreAddRSGroup 在接口中 MasterObserverpreAddRSGroup 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and mastername - group nameIOException - on failurepublic void preRemoveRSGroup(ObserverContext<MasterCoprocessorEnvironment> ctx, String name) throws IOException
MasterObserverpreRemoveRSGroup 在接口中 MasterObserverpreRemoveRSGroup 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and mastername - group nameIOException - on failurepublic void preBalanceRSGroup(ObserverContext<MasterCoprocessorEnvironment> ctx, String groupName) throws IOException
MasterObserverpreBalanceRSGroup 在接口中 MasterObserverpreBalanceRSGroup 在类中 BaseMasterAndRegionObserverctx - the environment to interact with the framework and mastergroupName - group nameIOException - on failureCopyright © 2007–2021 The Apache Software Foundation. All rights reserved.