|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.hadoop.hbase.coprocessor.BaseRegionObserver
org.apache.hadoop.hbase.coprocessor.BaseMasterAndRegionObserver
org.apache.hadoop.hbase.security.visibility.VisibilityController
@InterfaceAudience.LimitedPrivate(value="Configuration") public class VisibilityController
Coprocessor that has both the MasterObserver and RegionObserver implemented that supports in visibility labels
Nested Class Summary | |
---|---|
static class |
VisibilityController.VisibilityReplication
A RegionServerObserver impl that provides the custom VisibilityReplicationEndpoint. |
Nested classes/interfaces inherited from interface org.apache.hadoop.hbase.Coprocessor |
---|
Coprocessor.State |
Nested classes/interfaces inherited from interface org.apache.hadoop.hbase.coprocessor.RegionObserver |
---|
RegionObserver.MutationType |
Field Summary |
---|
Fields inherited from interface org.apache.hadoop.hbase.Coprocessor |
---|
PRIORITY_HIGHEST, PRIORITY_LOWEST, PRIORITY_SYSTEM, PRIORITY_USER, VERSION |
Constructor Summary | |
---|---|
VisibilityController()
|
Method Summary | |
---|---|
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(.SetAuthsRequest) returns (.VisibilityLabelsResponse); |
void |
getAuths(com.google.protobuf.RpcController controller,
VisibilityLabelsProtos.GetAuthsRequest request,
com.google.protobuf.RpcCallback<VisibilityLabelsProtos.GetAuthsResponse> done)
rpc getAuths(.GetAuthsRequest) returns (.GetAuthsResponse); |
com.google.protobuf.Service |
getService()
|
void |
listLabels(com.google.protobuf.RpcController controller,
VisibilityLabelsProtos.ListLabelsRequest request,
com.google.protobuf.RpcCallback<VisibilityLabelsProtos.ListLabelsResponse> done)
rpc listLabels(.ListLabelsRequest) returns (.ListLabelsResponse); |
DeleteTracker |
postInstantiateDeleteTracker(ObserverContext<RegionCoprocessorEnvironment> ctx,
DeleteTracker delTracker)
Called after the ScanQueryMatcher creates ScanDeleteTracker. |
void |
postLogReplay(ObserverContext<RegionCoprocessorEnvironment> e)
Called after the log replay on the region is over. |
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. |
RegionScanner |
postScannerOpen(ObserverContext<RegionCoprocessorEnvironment> c,
Scan scan,
RegionScanner s)
Called after the client opens a new scanner. |
void |
postStartMaster(ObserverContext<MasterCoprocessorEnvironment> ctx)
Master related hooks |
void |
postTruncateTable(ObserverContext<MasterCoprocessorEnvironment> ctx,
TableName tableName)
Called after the truncateTable operation has been requested. |
void |
postTruncateTableHandler(ObserverContext<MasterCoprocessorEnvironment> ctx,
TableName tableName)
Called after HMaster truncates a
table. |
void |
preAddColumn(ObserverContext<MasterCoprocessorEnvironment> ctx,
TableName tableName,
HColumnDescriptor column)
Called prior to adding a new column family to the table. |
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 |
preDeleteColumn(ObserverContext<MasterCoprocessorEnvironment> ctx,
TableName tableName,
byte[] c)
Called prior to deleting the entire column family. |
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 |
preModifyColumn(ObserverContext<MasterCoprocessorEnvironment> ctx,
TableName tableName,
HColumnDescriptor descriptor)
Called prior to modifying a column family's attributes. |
void |
preModifyTable(ObserverContext<MasterCoprocessorEnvironment> ctx,
TableName tableName,
HTableDescriptor 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. |
RegionScanner |
preScannerOpen(ObserverContext<RegionCoprocessorEnvironment> e,
Scan scan,
RegionScanner s)
Called before the client opens a new scanner. |
void |
preTruncateTable(ObserverContext<MasterCoprocessorEnvironment> ctx,
TableName tableName)
Called before HMaster truncates a
table. |
void |
preTruncateTableHandler(ObserverContext<MasterCoprocessorEnvironment> ctx,
TableName tableName)
Called before HMaster truncates a
table. |
void |
setAuths(com.google.protobuf.RpcController controller,
VisibilityLabelsProtos.SetAuthsRequest request,
com.google.protobuf.RpcCallback<VisibilityLabelsProtos.VisibilityLabelsResponse> done)
rpc setAuths(.SetAuthsRequest) returns (.VisibilityLabelsResponse); |
void |
start(CoprocessorEnvironment env)
|
void |
stop(CoprocessorEnvironment env)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public VisibilityController()
Method Detail |
---|
public void start(CoprocessorEnvironment env) throws IOException
start
in interface Coprocessor
start
in class BaseMasterAndRegionObserver
IOException
public void stop(CoprocessorEnvironment env) throws IOException
stop
in interface Coprocessor
stop
in class BaseMasterAndRegionObserver
IOException
public void postStartMaster(ObserverContext<MasterCoprocessorEnvironment> ctx) throws IOException
postStartMaster
in interface MasterObserver
postStartMaster
in class BaseMasterAndRegionObserver
IOException
public void preModifyTable(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, HTableDescriptor htd) throws IOException
MasterObserver
preModifyTable
in interface MasterObserver
preModifyTable
in class BaseMasterAndRegionObserver
ctx
- the environment to interact with the framework and mastertableName
- the name of the tablehtd
- the HTableDescriptor
IOException
public void preAddColumn(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, HColumnDescriptor column) throws IOException
MasterObserver
preAddColumn
in interface MasterObserver
preAddColumn
in class BaseMasterAndRegionObserver
ctx
- the environment to interact with the framework and mastertableName
- the name of the tablecolumn
- the HColumnDescriptor
IOException
public void preModifyColumn(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, HColumnDescriptor descriptor) throws IOException
MasterObserver
preModifyColumn
in interface MasterObserver
preModifyColumn
in class BaseMasterAndRegionObserver
ctx
- the environment to interact with the framework and mastertableName
- the name of the tabledescriptor
- the HColumnDescriptor
IOException
public void preDeleteColumn(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, byte[] c) throws IOException
MasterObserver
preDeleteColumn
in interface MasterObserver
preDeleteColumn
in class BaseMasterAndRegionObserver
ctx
- the environment to interact with the framework and mastertableName
- the name of the tablec
- the column
IOException
public void preDisableTable(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException
MasterObserver
preDisableTable
in interface MasterObserver
preDisableTable
in class BaseMasterAndRegionObserver
ctx
- the environment to interact with the framework and mastertableName
- the name of the table
IOException
public void postOpen(ObserverContext<RegionCoprocessorEnvironment> e)
postOpen
in interface RegionObserver
postOpen
in class BaseRegionObserver
e
- the environment provided by the region serverpublic void postLogReplay(ObserverContext<RegionCoprocessorEnvironment> e)
RegionObserver
postLogReplay
in interface RegionObserver
postLogReplay
in class BaseRegionObserver
e
- the environment provided by the region serverpublic void preBatchMutate(ObserverContext<RegionCoprocessorEnvironment> c, MiniBatchOperationInProgress<Mutation> miniBatchOp) throws IOException
RegionObserver
MiniBatchOperationInProgress.setOperationStatus(int, OperationStatus)
),
RegionObserver
can make HRegion to skip these Mutations.
preBatchMutate
in interface RegionObserver
preBatchMutate
in class BaseRegionObserver
c
- the environment provided by the region serverminiBatchOp
- batch of Mutations getting applied to region.
IOException
- if an error occurred on the coprocessorpublic void prePrepareTimeStampForDeleteVersion(ObserverContext<RegionCoprocessorEnvironment> ctx, Mutation delete, Cell cell, byte[] byteNow, Get get) throws IOException
RegionObserver
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
prePrepareTimeStampForDeleteVersion
in interface RegionObserver
prePrepareTimeStampForDeleteVersion
in class BaseRegionObserver
ctx
- 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 qualifier
IOException
public RegionScanner preScannerOpen(ObserverContext<RegionCoprocessorEnvironment> e, Scan scan, RegionScanner s) throws IOException
RegionObserver
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
preScannerOpen
in interface RegionObserver
preScannerOpen
in class BaseRegionObserver
e
- the environment provided by the region serverscan
- the Scan specifications
- if not null, the base scanner
IOException
- if an error occurred on the coprocessorpublic DeleteTracker postInstantiateDeleteTracker(ObserverContext<RegionCoprocessorEnvironment> ctx, DeleteTracker delTracker) throws IOException
RegionObserver
postInstantiateDeleteTracker
in interface RegionObserver
postInstantiateDeleteTracker
in class BaseRegionObserver
ctx
- the environment provided by the region serverdelTracker
- the deleteTracker that is created by the QueryMatcher
IOException
public RegionScanner postScannerOpen(ObserverContext<RegionCoprocessorEnvironment> c, Scan scan, RegionScanner s) throws IOException
RegionObserver
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
postScannerOpen
in interface RegionObserver
postScannerOpen
in class BaseRegionObserver
c
- the environment provided by the region serverscan
- the Scan specifications
- if not null, the base scanner
IOException
- if an error occurred on the coprocessorpublic boolean preScannerNext(ObserverContext<RegionCoprocessorEnvironment> c, InternalScanner s, List<Result> result, int limit, boolean hasNext) throws IOException
RegionObserver
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
preScannerNext
in interface RegionObserver
preScannerNext
in class BaseRegionObserver
c
- 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' indication
IOException
- if an error occurred on the coprocessorpublic void preScannerClose(ObserverContext<RegionCoprocessorEnvironment> c, InternalScanner s) throws IOException
RegionObserver
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
preScannerClose
in interface RegionObserver
preScannerClose
in class BaseRegionObserver
c
- the environment provided by the region servers
- the scanner
IOException
- if an error occurred on the coprocessorpublic void postScannerClose(ObserverContext<RegionCoprocessorEnvironment> c, InternalScanner s) throws IOException
RegionObserver
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
postScannerClose
in interface RegionObserver
postScannerClose
in class BaseRegionObserver
c
- the environment provided by the region servers
- the scanner
IOException
- if an error occurred on the coprocessorpublic void preGetOp(ObserverContext<RegionCoprocessorEnvironment> e, Get get, List<Cell> results) throws IOException
RegionObserver
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
preGetOp
in interface RegionObserver
preGetOp
in class BaseRegionObserver
e
- 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.
IOException
- if an error occurred on the coprocessorpublic Result preAppend(ObserverContext<RegionCoprocessorEnvironment> e, Append append) throws IOException
RegionObserver
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
preAppend
in interface RegionObserver
preAppend
in class BaseRegionObserver
e
- the environment provided by the region serverappend
- Append object
IOException
- if an error occurred on the coprocessorpublic Result preIncrement(ObserverContext<RegionCoprocessorEnvironment> e, Increment increment) throws IOException
RegionObserver
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
preIncrement
in interface RegionObserver
preIncrement
in class BaseRegionObserver
e
- the environment provided by the region serverincrement
- increment object
IOException
- if an error occurred on the coprocessorpublic Cell postMutationBeforeWAL(ObserverContext<RegionCoprocessorEnvironment> ctx, RegionObserver.MutationType opType, Mutation mutation, Cell oldCell, Cell newCell) throws IOException
RegionObserver
ObserverContext.bypass()
has no
effect in this hook.
postMutationBeforeWAL
in interface RegionObserver
postMutationBeforeWAL
in class BaseRegionObserver
ctx
- the environment provided by the region serveropType
- the operation typemutation
- the current mutationoldCell
- old cell containing previous valuenewCell
- the new cell containing the computed value
IOException
public com.google.protobuf.Service getService()
getService
in interface CoprocessorService
public void addLabels(com.google.protobuf.RpcController controller, VisibilityLabelsProtos.VisibilityLabelsRequest request, com.google.protobuf.RpcCallback<VisibilityLabelsProtos.VisibilityLabelsResponse> done)
addLabels
in interface VisibilityLabelsProtos.VisibilityLabelsService.Interface
public void setAuths(com.google.protobuf.RpcController controller, VisibilityLabelsProtos.SetAuthsRequest request, com.google.protobuf.RpcCallback<VisibilityLabelsProtos.VisibilityLabelsResponse> done)
VisibilityLabelsProtos.VisibilityLabelsService.Interface
rpc setAuths(.SetAuthsRequest) returns (.VisibilityLabelsResponse);
setAuths
in interface VisibilityLabelsProtos.VisibilityLabelsService.Interface
public void getAuths(com.google.protobuf.RpcController controller, VisibilityLabelsProtos.GetAuthsRequest request, com.google.protobuf.RpcCallback<VisibilityLabelsProtos.GetAuthsResponse> done)
VisibilityLabelsProtos.VisibilityLabelsService.Interface
rpc getAuths(.GetAuthsRequest) returns (.GetAuthsResponse);
getAuths
in interface VisibilityLabelsProtos.VisibilityLabelsService.Interface
public void clearAuths(com.google.protobuf.RpcController controller, VisibilityLabelsProtos.SetAuthsRequest request, com.google.protobuf.RpcCallback<VisibilityLabelsProtos.VisibilityLabelsResponse> done)
VisibilityLabelsProtos.VisibilityLabelsService.Interface
rpc clearAuths(.SetAuthsRequest) returns (.VisibilityLabelsResponse);
clearAuths
in interface VisibilityLabelsProtos.VisibilityLabelsService.Interface
public void listLabels(com.google.protobuf.RpcController controller, VisibilityLabelsProtos.ListLabelsRequest request, com.google.protobuf.RpcCallback<VisibilityLabelsProtos.ListLabelsResponse> done)
VisibilityLabelsProtos.VisibilityLabelsService.Interface
rpc listLabels(.ListLabelsRequest) returns (.ListLabelsResponse);
listLabels
in interface VisibilityLabelsProtos.VisibilityLabelsService.Interface
public void preTruncateTable(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException
MasterObserver
HMaster
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
in interface MasterObserver
ctx
- the environment to interact with the framework and mastertableName
- the name of the table
IOException
public void postTruncateTable(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException
MasterObserver
postTruncateTable
in interface MasterObserver
ctx
- the environment to interact with the framework and mastertableName
- the name of the table
IOException
public void preTruncateTableHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException
MasterObserver
HMaster
truncates a
table. Called as part of truncate table handler and it is sync
to the truncate RPC call.
It can't bypass the default action, e.g., ctx.bypass() won't have effect.
preTruncateTableHandler
in interface MasterObserver
ctx
- the environment to interact with the framework and mastertableName
- the name of the table
IOException
public void postTruncateTableHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException
MasterObserver
HMaster
truncates a
table. Called as part of truncate table handler and it is sync to the
truncate RPC call.
It can't bypass the default action, e.g., ctx.bypass() won't have effect.
postTruncateTableHandler
in interface MasterObserver
ctx
- the environment to interact with the framework and mastertableName
- the name of the table
IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |