@InterfaceAudience.LimitedPrivate(value="Configuration") public class VisibilityController extends Object implements MasterCoprocessor, RegionCoprocessor, VisibilityLabelsProtos.VisibilityLabelsService.Interface, MasterObserver, RegionObserver
Coprocessor.StateRegionObserver.MutationTypePRIORITY_HIGHEST, PRIORITY_LOWEST, PRIORITY_SYSTEM, PRIORITY_USER, VERSION| Constructor and Description |
|---|
VisibilityController() |
| Modifier and Type | Method and Description |
|---|---|
void |
addLabels(com.google.protobuf.RpcController controller,
VisibilityLabelsProtos.VisibilityLabelsRequest request,
com.google.protobuf.RpcCallback<VisibilityLabelsProtos.VisibilityLabelsResponse> done)
VisibilityEndpoint service related methods
|
void |
clearAuths(com.google.protobuf.RpcController controller,
VisibilityLabelsProtos.SetAuthsRequest request,
com.google.protobuf.RpcCallback<VisibilityLabelsProtos.VisibilityLabelsResponse> done)
rpc clearAuths(.hbase.pb.SetAuthsRequest) returns (.hbase.pb.VisibilityLabelsResponse); |
void |
getAuths(com.google.protobuf.RpcController controller,
VisibilityLabelsProtos.GetAuthsRequest request,
com.google.protobuf.RpcCallback<VisibilityLabelsProtos.GetAuthsResponse> done)
rpc getAuths(.hbase.pb.GetAuthsRequest) returns (.hbase.pb.GetAuthsResponse); |
Optional<MasterObserver> |
getMasterObserver() |
Optional<RegionObserver> |
getRegionObserver()
Observer/Service Getters
|
Iterable<com.google.protobuf.Service> |
getServices()
Coprocessor endpoints providing protobuf services should override this method.
|
static boolean |
isCellAuthorizationSupported(org.apache.hadoop.conf.Configuration conf) |
void |
listLabels(com.google.protobuf.RpcController controller,
VisibilityLabelsProtos.ListLabelsRequest request,
com.google.protobuf.RpcCallback<VisibilityLabelsProtos.ListLabelsResponse> done)
rpc listLabels(.hbase.pb.ListLabelsRequest) returns (.hbase.pb.ListLabelsResponse); |
DeleteTracker |
postInstantiateDeleteTracker(ObserverContext<RegionCoprocessorEnvironment> ctx,
DeleteTracker delTracker)
Called after the ScanQueryMatcher creates ScanDeleteTracker.
|
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> e)
Region related hooks
|
void |
postScannerClose(ObserverContext<RegionCoprocessorEnvironment> c,
InternalScanner s)
Called after the client closes a scanner.
|
boolean |
postScannerFilterRow(ObserverContext<RegionCoprocessorEnvironment> e,
InternalScanner s,
Cell curRowCell,
boolean hasMore)
This will be called by the scan flow when the current scanned row is being filtered out by the
filter.
|
RegionScanner |
postScannerOpen(ObserverContext<RegionCoprocessorEnvironment> c,
Scan scan,
RegionScanner s)
Called after the client opens a new scanner.
|
void |
postSetSplitOrMergeEnabled(ObserverContext<MasterCoprocessorEnvironment> ctx,
boolean newValue,
MasterSwitchType switchType)
Called after setting split / merge switch
|
void |
postStartMaster(ObserverContext<MasterCoprocessorEnvironment> ctx)
Master related hooks
|
Result |
preAppend(ObserverContext<RegionCoprocessorEnvironment> e,
Append append)
Called before Append.
|
void |
preBatchMutate(ObserverContext<RegionCoprocessorEnvironment> c,
MiniBatchOperationInProgress<Mutation> miniBatchOp)
This will be called for every batch mutation operation happening at the server.
|
void |
preDisableTable(ObserverContext<MasterCoprocessorEnvironment> ctx,
TableName tableName)
Called prior to disabling a table.
|
void |
preGetOp(ObserverContext<RegionCoprocessorEnvironment> e,
Get get,
List<Cell> results)
Called before the client performs a Get
|
Result |
preIncrement(ObserverContext<RegionCoprocessorEnvironment> e,
Increment increment)
Called before Increment.
|
void |
preModifyTable(ObserverContext<MasterCoprocessorEnvironment> ctx,
TableName tableName,
TableDescriptor htd)
Called prior to modifying a table's properties.
|
void |
prePrepareTimeStampForDeleteVersion(ObserverContext<RegionCoprocessorEnvironment> ctx,
Mutation delete,
Cell cell,
byte[] byteNow,
Get get)
Called before the server updates the timestamp for version delete with latest timestamp.
|
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.
|
void |
preScannerOpen(ObserverContext<RegionCoprocessorEnvironment> e,
Scan scan)
Called before the client opens a new scanner.
|
void |
setAuths(com.google.protobuf.RpcController controller,
VisibilityLabelsProtos.SetAuthsRequest request,
com.google.protobuf.RpcCallback<VisibilityLabelsProtos.VisibilityLabelsResponse> done)
rpc setAuths(.hbase.pb.SetAuthsRequest) returns (.hbase.pb.VisibilityLabelsResponse); |
void |
start(CoprocessorEnvironment env)
Called by the
CoprocessorEnvironment during it's own startup to initialize the
coprocessor. |
void |
stop(CoprocessorEnvironment env)
Called by the
CoprocessorEnvironment during it's own shutdown to stop the
coprocessor. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetBulkLoadObserver, getEndpointObserverpostAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNamespace, postModifyNamespace, postModifyTable, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyNamespace, preModifyTable, preModifyTableAction, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfigpostAppend, postBatchMutate, postBatchMutateIndispensably, postBulkLoadHFile, postCheckAndDelete, postCheckAndPut, postClose, postCloseRegionOperation, postCommitStoreFile, postCompact, postCompactSelection, postDelete, postExists, postFlush, postFlush, postGetOp, postIncrement, postMemStoreCompaction, postPut, postReplayWALs, postScannerNext, postStartRegionOperation, postStoreFileReaderOpen, postWALRestore, preAppendAfterRowLock, preBulkLoadHFile, preCheckAndDelete, preCheckAndDeleteAfterRowLock, preCheckAndPut, preCheckAndPutAfterRowLock, preClose, preCommitStoreFile, preCompact, preCompactScannerOpen, preCompactSelection, preDelete, preExists, preFlush, preFlush, preFlushScannerOpen, preIncrementAfterRowLock, preMemStoreCompaction, preMemStoreCompactionCompact, preMemStoreCompactionCompactScannerOpen, preOpen, prePut, preReplayWALs, preStoreFileReaderOpen, preStoreScannerOpen, preWALRestorepublic static boolean isCellAuthorizationSupported(org.apache.hadoop.conf.Configuration conf)
public void start(CoprocessorEnvironment env) throws IOException
CoprocessorCoprocessorEnvironment during it's own startup to initialize the
coprocessor.start in interface CoprocessorIOExceptionpublic void stop(CoprocessorEnvironment env) throws IOException
CoprocessorCoprocessorEnvironment during it's own shutdown to stop the
coprocessor.stop in interface CoprocessorIOExceptionpublic Optional<RegionObserver> getRegionObserver()
getRegionObserver in interface RegionCoprocessorpublic Optional<MasterObserver> getMasterObserver()
getMasterObserver in interface MasterCoprocessorpublic Iterable<com.google.protobuf.Service> getServices()
CoprocessorgetServices in interface CoprocessorServices or empty collection. Implementations should never
return null.public void postStartMaster(ObserverContext<MasterCoprocessorEnvironment> ctx) throws IOException
postStartMaster in interface MasterObserverIOExceptionpublic void preModifyTable(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, TableDescriptor htd) throws IOException
MasterObserverpreModifyTable in interface MasterObserverctx - the environment to interact with the framework and mastertableName - the name of the tablehtd - after modify operation, table will have this descriptorIOExceptionpublic void preDisableTable(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException
MasterObserverpreDisableTable in interface MasterObserverctx - the environment to interact with the framework and mastertableName - the name of the tableIOExceptionpublic void postOpen(ObserverContext<RegionCoprocessorEnvironment> e)
postOpen in interface RegionObservere - the environment provided by the region serverpublic void postSetSplitOrMergeEnabled(ObserverContext<MasterCoprocessorEnvironment> ctx, boolean newValue, MasterSwitchType switchType) throws IOException
MasterObserverpostSetSplitOrMergeEnabled in interface MasterObserverctx - the coprocessor instance's environmentnewValue - the new value submitted in the callswitchType - type of switchIOExceptionpublic void preBatchMutate(ObserverContext<RegionCoprocessorEnvironment> c, MiniBatchOperationInProgress<Mutation> miniBatchOp) throws IOException
RegionObserverMiniBatchOperationInProgress.setOperationStatus(int, OperationStatus)),
RegionObserver can make Region to skip these Mutations.
Note: Do not retain references to any Cells in Mutations beyond the life of this invocation. If need a Cell reference for later use, copy the cell and use that.
preBatchMutate in interface RegionObserverc - the environment provided by the region serverminiBatchOp - batch of Mutations getting applied to region.IOExceptionpublic void prePrepareTimeStampForDeleteVersion(ObserverContext<RegionCoprocessorEnvironment> ctx, Mutation delete, Cell cell, byte[] byteNow, Get get) throws IOException
RegionObserverCall CoprocessorEnvironment#bypass to skip default actions. If 'bypass' is set, we skip out on calling any subsequent chained coprocessors.
prePrepareTimeStampForDeleteVersion in interface RegionObserverctx - the environment provided by the region serverdelete - - the parent mutation associated with this delete cellcell - - The deleteColumn with latest version cellbyteNow - - timestamp bytesget - - the get formed using the current cell's row. Note that the get does not specify
the family and qualifierIOExceptionpublic void preScannerOpen(ObserverContext<RegionCoprocessorEnvironment> e, Scan scan) throws IOException
RegionObserverNote: Do not retain references to any Cells returned by scanner, beyond the life of this invocation. If need a Cell reference for later use, copy the cell and use that.
preScannerOpen in interface RegionObservere - the environment provided by the region serverscan - the Scan specificationIOExceptionpublic DeleteTracker postInstantiateDeleteTracker(ObserverContext<RegionCoprocessorEnvironment> ctx, DeleteTracker delTracker) throws IOException
RegionObserverWarn: This is used by internal coprocessors. Should not be implemented by user coprocessors
postInstantiateDeleteTracker in interface RegionObserverctx - the environment provided by the region serverdelTracker - the deleteTracker that is created by the QueryMatcherIOExceptionpublic RegionScanner postScannerOpen(ObserverContext<RegionCoprocessorEnvironment> c, Scan scan, RegionScanner s) throws IOException
RegionObserverNote: Do not retain references to any Cells returned by scanner, beyond the life of this invocation. If need a Cell reference for later use, copy the cell and use that.
postScannerOpen in interface RegionObserverc - the environment provided by the region serverscan - the Scan specifications - if not null, the base scannerIOExceptionpublic boolean preScannerNext(ObserverContext<RegionCoprocessorEnvironment> c, InternalScanner s, List<Result> result, int limit, boolean hasNext) throws IOException
RegionObserverCall CoprocessorEnvironment#bypass to skip default actions. If 'bypass' is set, we skip out on calling any subsequent chained coprocessors.
Note: Do not retain references to any Cells returned by scanner, beyond the life of this invocation. If need a Cell reference for later use, copy the cell and use that.
preScannerNext in interface RegionObserverc - 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' indicationIOExceptionpublic void preScannerClose(ObserverContext<RegionCoprocessorEnvironment> c, InternalScanner s) throws IOException
RegionObserverCall CoprocessorEnvironment#bypass to skip default actions. If 'bypass' is set, we skip out on calling any subsequent chained coprocessors.
preScannerClose in interface RegionObserverc - the environment provided by the region servers - the scannerIOExceptionpublic void postScannerClose(ObserverContext<RegionCoprocessorEnvironment> c, InternalScanner s) throws IOException
RegionObserverpostScannerClose in interface RegionObserverc - the environment provided by the region servers - the scannerIOExceptionpublic void preGetOp(ObserverContext<RegionCoprocessorEnvironment> e, Get get, List<Cell> results) throws IOException
RegionObserverCall CoprocessorEnvironment#bypass to skip default actions. If 'bypass' is set, we skip out on calling any subsequent chained coprocessors.
preGetOp in interface RegionObservere - the environment provided by the region serverget - the Get requestresults - 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.IOExceptionpublic Result preAppend(ObserverContext<RegionCoprocessorEnvironment> e, Append append) throws IOException
RegionObserverCall CoprocessorEnvironment#bypass to skip default actions. If 'bypass' is set, we skip out on calling any subsequent chained coprocessors.
Note: Do not retain references to any Cells in 'append' beyond the life of this invocation. If need a Cell reference for later use, copy the cell and use that.
preAppend in interface RegionObservere - the environment provided by the region serverappend - Append objectIOExceptionpublic Result preIncrement(ObserverContext<RegionCoprocessorEnvironment> e, Increment increment) throws IOException
RegionObserverCall CoprocessorEnvironment#bypass to skip default actions. If 'bypass' is set, we skip out on calling any subsequent chained coprocessors.
Note: Do not retain references to any Cells in 'increment' beyond the life of this invocation. If need a Cell reference for later use, copy the cell and use that.
preIncrement in interface RegionObservere - the environment provided by the region serverincrement - increment objectIOExceptionpublic 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 in interface RegionObserverctx - 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 boolean postScannerFilterRow(ObserverContext<RegionCoprocessorEnvironment> e, InternalScanner s, Cell curRowCell, boolean hasMore) throws IOException
RegionObserverboolean filterRowKey(byte [] buffer, int offset, int length) returning trueboolean filterRow() returning truedefault void filterRow(List<KeyValue> kvs) removing all the kvs from
the passed ListNote: Do not retain references to any Cells returned by scanner, beyond the life of this invocation. If need a Cell reference for later use, copy the cell and use that.
postScannerFilterRow in interface RegionObservere - the environment provided by the region servers - the scannercurRowCell - The cell in the current row which got filtered outhasMore - the 'has more' indicationIOExceptionpublic void addLabels(com.google.protobuf.RpcController controller,
VisibilityLabelsProtos.VisibilityLabelsRequest request,
com.google.protobuf.RpcCallback<VisibilityLabelsProtos.VisibilityLabelsResponse> done)
addLabels in interface VisibilityLabelsProtos.VisibilityLabelsService.Interfacepublic void setAuths(com.google.protobuf.RpcController controller,
VisibilityLabelsProtos.SetAuthsRequest request,
com.google.protobuf.RpcCallback<VisibilityLabelsProtos.VisibilityLabelsResponse> done)
VisibilityLabelsProtos.VisibilityLabelsService.Interfacerpc setAuths(.hbase.pb.SetAuthsRequest) returns (.hbase.pb.VisibilityLabelsResponse);setAuths in interface VisibilityLabelsProtos.VisibilityLabelsService.Interfacepublic void getAuths(com.google.protobuf.RpcController controller,
VisibilityLabelsProtos.GetAuthsRequest request,
com.google.protobuf.RpcCallback<VisibilityLabelsProtos.GetAuthsResponse> done)
VisibilityLabelsProtos.VisibilityLabelsService.Interfacerpc getAuths(.hbase.pb.GetAuthsRequest) returns (.hbase.pb.GetAuthsResponse);getAuths in interface VisibilityLabelsProtos.VisibilityLabelsService.Interfacepublic void clearAuths(com.google.protobuf.RpcController controller,
VisibilityLabelsProtos.SetAuthsRequest request,
com.google.protobuf.RpcCallback<VisibilityLabelsProtos.VisibilityLabelsResponse> done)
VisibilityLabelsProtos.VisibilityLabelsService.Interfacerpc clearAuths(.hbase.pb.SetAuthsRequest) returns (.hbase.pb.VisibilityLabelsResponse);clearAuths in interface VisibilityLabelsProtos.VisibilityLabelsService.Interfacepublic void listLabels(com.google.protobuf.RpcController controller,
VisibilityLabelsProtos.ListLabelsRequest request,
com.google.protobuf.RpcCallback<VisibilityLabelsProtos.ListLabelsResponse> done)
VisibilityLabelsProtos.VisibilityLabelsService.Interfacerpc listLabels(.hbase.pb.ListLabelsRequest) returns (.hbase.pb.ListLabelsResponse);listLabels in interface VisibilityLabelsProtos.VisibilityLabelsService.InterfaceCopyright © 2007–2019 Cloudera. All rights reserved.