|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
@InterfaceAudience.LimitedPrivate(value="Coprocesssor") @InterfaceStability.Evolving public interface RegionObserver
Coprocessors implement this interface to observe and mediate client actions on the region.
| Nested Class Summary | |
|---|---|
static class |
RegionObserver.MutationType
Mutation type for postMutationBeforeWAL hook |
| Nested classes/interfaces inherited from interface org.apache.hadoop.hbase.Coprocessor |
|---|
Coprocessor.State |
| Field Summary |
|---|
| Fields inherited from interface org.apache.hadoop.hbase.Coprocessor |
|---|
PRIORITY_HIGHEST, PRIORITY_LOWEST, PRIORITY_SYSTEM, PRIORITY_USER, VERSION |
| Method Summary | |
|---|---|
Result |
postAppend(ObserverContext<RegionCoprocessorEnvironment> c,
Append append,
Result result)
Called after Append |
void |
postBatchMutate(ObserverContext<RegionCoprocessorEnvironment> c,
MiniBatchOperationInProgress<Mutation> miniBatchOp)
This will be called after applying a batch of Mutations on a region. |
void |
postBatchMutateIndispensably(ObserverContext<RegionCoprocessorEnvironment> ctx,
MiniBatchOperationInProgress<Mutation> miniBatchOp,
boolean success)
Called after the completion of batch put/delete and will be called even if the batch operation fails |
boolean |
postBulkLoadHFile(ObserverContext<RegionCoprocessorEnvironment> ctx,
List<Pair<byte[],String>> familyPaths,
boolean hasLoaded)
Called after bulkLoadHFile. |
boolean |
postCheckAndDelete(ObserverContext<RegionCoprocessorEnvironment> c,
byte[] row,
byte[] family,
byte[] qualifier,
CompareFilter.CompareOp compareOp,
ByteArrayComparable comparator,
Delete delete,
boolean result)
Called after checkAndDelete |
boolean |
postCheckAndPut(ObserverContext<RegionCoprocessorEnvironment> c,
byte[] row,
byte[] family,
byte[] qualifier,
CompareFilter.CompareOp compareOp,
ByteArrayComparable comparator,
Put put,
boolean result)
Called after checkAndPut |
void |
postClose(ObserverContext<RegionCoprocessorEnvironment> c,
boolean abortRequested)
Called after the region is reported as closed to the master. |
void |
postCloseRegionOperation(ObserverContext<RegionCoprocessorEnvironment> ctx,
HRegion.Operation operation)
Called after releasing read lock in HRegion.closeRegionOperation(Operation). |
void |
postCompact(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
StoreFile resultFile)
Deprecated. Use postCompact(ObserverContext, Store, StoreFile, CompactionRequest)
instead |
void |
postCompact(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
StoreFile resultFile,
CompactionRequest request)
Called after compaction has completed and the new store file has been moved in to place. |
void |
postCompactSelection(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
com.google.common.collect.ImmutableList<StoreFile> selected)
Deprecated. use postCompactSelection(ObserverContext, Store, ImmutableList,
CompactionRequest) instead. |
void |
postCompactSelection(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
com.google.common.collect.ImmutableList<StoreFile> selected,
CompactionRequest request)
Called after the StoreFiles to compact have been selected from the available
candidates. |
void |
postCompleteSplit(ObserverContext<RegionCoprocessorEnvironment> ctx)
Called after any split request is processed. |
void |
postDelete(ObserverContext<RegionCoprocessorEnvironment> c,
Delete delete,
WALEdit edit,
Durability durability)
Called after the client deletes a value. |
boolean |
postExists(ObserverContext<RegionCoprocessorEnvironment> c,
Get get,
boolean exists)
Called after the client tests for existence using a Get. |
void |
postFlush(ObserverContext<RegionCoprocessorEnvironment> c)
Deprecated. use preFlush(ObserverContext, Store, InternalScanner) instead. |
void |
postFlush(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
StoreFile resultFile)
Called after a Store's memstore is flushed to disk. |
void |
postGet(ObserverContext<RegionCoprocessorEnvironment> c,
Get get,
List<KeyValue> result)
Deprecated. |
void |
postGetClosestRowBefore(ObserverContext<RegionCoprocessorEnvironment> c,
byte[] row,
byte[] family,
Result result)
Called after a client makes a GetClosestRowBefore request. |
void |
postGetOp(ObserverContext<RegionCoprocessorEnvironment> c,
Get get,
List<Cell> result)
Called after the client performs a Get |
Result |
postIncrement(ObserverContext<RegionCoprocessorEnvironment> c,
Increment increment,
Result result)
Called after increment |
long |
postIncrementColumnValue(ObserverContext<RegionCoprocessorEnvironment> c,
byte[] row,
byte[] family,
byte[] qualifier,
long amount,
boolean writeToWAL,
long result)
Deprecated. This hook is no longer called by the RegionServer |
DeleteTracker |
postInstantiateDeleteTracker(ObserverContext<RegionCoprocessorEnvironment> ctx,
DeleteTracker delTracker)
Called after the ScanQueryMatcher creates ScanDeleteTracker. |
void |
postLogReplay(ObserverContext<RegionCoprocessorEnvironment> c)
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> 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 |
postRollBackSplit(ObserverContext<RegionCoprocessorEnvironment> ctx)
This will be called after the roll back of the split region is completed |
void |
postScannerClose(ObserverContext<RegionCoprocessorEnvironment> c,
InternalScanner s)
Called after the client closes a scanner. |
boolean |
postScannerFilterRow(ObserverContext<RegionCoprocessorEnvironment> c,
InternalScanner s,
byte[] currentRow,
int offset,
short length,
boolean hasMore)
This will be called by the scan flow when the current scanned row is being filtered out by the filter. |
boolean |
postScannerNext(ObserverContext<RegionCoprocessorEnvironment> c,
InternalScanner s,
List<Result> result,
int limit,
boolean hasNext)
Called after the client asks for the next row on a scanner. |
RegionScanner |
postScannerOpen(ObserverContext<RegionCoprocessorEnvironment> c,
Scan scan,
RegionScanner s)
Called after the client opens a new scanner. |
void |
postSplit(ObserverContext<RegionCoprocessorEnvironment> c,
HRegion l,
HRegion r)
Deprecated. Use postCompleteSplit() instead |
void |
postStartRegionOperation(ObserverContext<RegionCoprocessorEnvironment> ctx,
HRegion.Operation operation)
This will be called for region operations where read lock is acquired in HRegion.startRegionOperation(). |
StoreFile.Reader |
postStoreFileReaderOpen(ObserverContext<RegionCoprocessorEnvironment> ctx,
org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.Path p,
FSDataInputStreamWrapper in,
long size,
CacheConfig cacheConf,
Reference r,
StoreFile.Reader reader)
Called after the creation of Reader for a store file. |
void |
postWALRestore(ObserverContext<RegionCoprocessorEnvironment> ctx,
HRegionInfo info,
HLogKey logKey,
WALEdit logEdit)
Called after a WALEdit
replayed for this region. |
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 |
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)
Called before bulkLoadHFile. |
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 |
preClose(ObserverContext<RegionCoprocessorEnvironment> c,
boolean abortRequested)
Called before the region is reported as closed to the master. |
InternalScanner |
preCompact(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
InternalScanner scanner,
ScanType scanType)
Deprecated. use preCompact(ObserverContext, Store, InternalScanner,
ScanType, CompactionRequest) instead |
InternalScanner |
preCompact(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
InternalScanner scanner,
ScanType scanType,
CompactionRequest request)
Called prior to writing the StoreFiles selected for compaction into a new
StoreFile. |
InternalScanner |
preCompactScannerOpen(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
List<? extends KeyValueScanner> scanners,
ScanType scanType,
long earliestPutTs,
InternalScanner s)
Deprecated. Use preCompactScannerOpen(ObserverContext, Store, List, ScanType, long,
InternalScanner, CompactionRequest) instead. |
InternalScanner |
preCompactScannerOpen(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
List<? extends KeyValueScanner> scanners,
ScanType scanType,
long earliestPutTs,
InternalScanner s,
CompactionRequest request)
Called prior to writing the StoreFiles selected for compaction into a new
StoreFile and prior to creating the scanner used to read the input files. |
void |
preCompactSelection(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
List<StoreFile> candidates)
Deprecated. Use preCompactSelection(ObserverContext, Store, List, CompactionRequest)
instead |
void |
preCompactSelection(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
List<StoreFile> candidates,
CompactionRequest request)
Called prior to selecting the StoreFiles to compact from the list of
available candidates. |
void |
preDelete(ObserverContext<RegionCoprocessorEnvironment> c,
Delete delete,
WALEdit edit,
Durability durability)
Called before the client deletes a value. |
boolean |
preExists(ObserverContext<RegionCoprocessorEnvironment> c,
Get get,
boolean exists)
Called before the client tests for existence using a Get. |
void |
preFlush(ObserverContext<RegionCoprocessorEnvironment> c)
Deprecated. use preFlush(ObserverContext, Store, InternalScanner) instead |
InternalScanner |
preFlush(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
InternalScanner scanner)
Called before a Store's memstore is flushed to disk. |
InternalScanner |
preFlushScannerOpen(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
KeyValueScanner memstoreScanner,
InternalScanner s)
Called before a memstore is flushed to disk and prior to creating the scanner to read from the memstore. |
void |
preGet(ObserverContext<RegionCoprocessorEnvironment> c,
Get get,
List<KeyValue> result)
Deprecated. |
void |
preGetClosestRowBefore(ObserverContext<RegionCoprocessorEnvironment> c,
byte[] row,
byte[] family,
Result result)
Called before a client makes a GetClosestRowBefore request. |
void |
preGetOp(ObserverContext<RegionCoprocessorEnvironment> c,
Get get,
List<Cell> result)
Called before the client performs a Get |
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)
Deprecated. This hook is no longer called by the RegionServer |
void |
preOpen(ObserverContext<RegionCoprocessorEnvironment> c)
Called before the region is reported as open to the master. |
void |
prePrepareTimeStampForDeleteVersion(ObserverContext<RegionCoprocessorEnvironment> c,
Mutation mutation,
Cell cell,
byte[] byteNow,
Get get)
Called before the server updates the timestamp for version delete with latest timestamp. |
void |
prePut(ObserverContext<RegionCoprocessorEnvironment> c,
Put put,
WALEdit edit,
Durability durability)
Called before the client stores a value. |
void |
preRollBackSplit(ObserverContext<RegionCoprocessorEnvironment> ctx)
This will be called before the roll back of the split region is completed |
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 |
preSplit(ObserverContext<RegionCoprocessorEnvironment> c)
Deprecated. Use preSplit( final ObserverContext |
void |
preSplit(ObserverContext<RegionCoprocessorEnvironment> c,
byte[] splitRow)
Called before the region is split. |
void |
preSplitAfterPONR(ObserverContext<RegionCoprocessorEnvironment> ctx)
This will be called after PONR step as part of split transaction Calling ObserverContext.bypass() has no
effect in this hook. |
void |
preSplitBeforePONR(ObserverContext<RegionCoprocessorEnvironment> ctx,
byte[] splitKey,
List<Mutation> metaEntries)
This will be called before PONR step as part of split transaction. |
StoreFile.Reader |
preStoreFileReaderOpen(ObserverContext<RegionCoprocessorEnvironment> ctx,
org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.Path p,
FSDataInputStreamWrapper in,
long size,
CacheConfig cacheConf,
Reference r,
StoreFile.Reader reader)
Called before creation of Reader for a store file. |
KeyValueScanner |
preStoreScannerOpen(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
Scan scan,
NavigableSet<byte[]> targetCols,
KeyValueScanner s)
Called before a store opens a new scanner. |
void |
preWALRestore(ObserverContext<RegionCoprocessorEnvironment> ctx,
HRegionInfo info,
HLogKey logKey,
WALEdit logEdit)
Called before a WALEdit
replayed for this region. |
| Methods inherited from interface org.apache.hadoop.hbase.Coprocessor |
|---|
start, stop |
| Method Detail |
|---|
void preOpen(ObserverContext<RegionCoprocessorEnvironment> c)
throws IOException
c - the environment provided by the region server
IOException - if an error occurred on the coprocessorvoid postOpen(ObserverContext<RegionCoprocessorEnvironment> c)
c - the environment provided by the region servervoid postLogReplay(ObserverContext<RegionCoprocessorEnvironment> c)
c - the environment provided by the region server
InternalScanner preFlushScannerOpen(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
KeyValueScanner memstoreScanner,
InternalScanner s)
throws IOException
StoreFile or null to perform the default processing.
Calling ObserverContext.bypass() has no
effect in this hook.
c - the environment provided by the region serverstore - the store being flushedmemstoreScanner - the scanner for the memstore that is flusheds - the base scanner, if not null, from previous RegionObserver in the chain
null if the default implementation
is to be used.
IOException - if an error occurred on the coprocessor
void preFlush(ObserverContext<RegionCoprocessorEnvironment> c)
throws IOException
preFlush(ObserverContext, Store, InternalScanner) instead
c - the environment provided by the region server
IOException - if an error occurred on the coprocessor
InternalScanner preFlush(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
InternalScanner scanner)
throws IOException
c - the environment provided by the region serverstore - the store where compaction is being requestedscanner - the scanner over existing data used in the store file
null
unless the implementation is writing new store files on its own.
IOException - if an error occurred on the coprocessor
void postFlush(ObserverContext<RegionCoprocessorEnvironment> c)
throws IOException
preFlush(ObserverContext, Store, InternalScanner) instead.
c - the environment provided by the region server
IOException - if an error occurred on the coprocessor
void postFlush(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
StoreFile resultFile)
throws IOException
c - the environment provided by the region serverstore - the store being flushedresultFile - the new store file written out during compaction
IOException - if an error occurred on the coprocessor
void preCompactSelection(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
List<StoreFile> candidates,
CompactionRequest request)
throws IOException
StoreFiles to compact from the list of
available candidates. To alter the files used for compaction, you may mutate the passed in list
of candidates.
c - the environment provided by the region serverstore - the store where compaction is being requestedcandidates - the store files currently available for compactionrequest - custom compaction request
IOException - if an error occurred on the coprocessor
@Deprecated
void preCompactSelection(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
List<StoreFile> candidates)
throws IOException
preCompactSelection(ObserverContext, Store, List, CompactionRequest)
instead
StoreFiles to compact from the list of available
candidates. To alter the files used for compaction, you may mutate the passed in list of
candidates.
c - the environment provided by the region serverstore - the store where compaction is being requestedcandidates - the store files currently available for compaction
IOException - if an error occurred on the coprocessor
void postCompactSelection(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
com.google.common.collect.ImmutableList<StoreFile> selected,
CompactionRequest request)
StoreFiles to compact have been selected from the available
candidates.
c - the environment provided by the region serverstore - the store being compactedselected - the store files selected to compactrequest - custom compaction request
@Deprecated
void postCompactSelection(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
com.google.common.collect.ImmutableList<StoreFile> selected)
postCompactSelection(ObserverContext, Store, ImmutableList,
CompactionRequest) instead.
StoreFiles to compact have been selected from the available
candidates.
c - the environment provided by the region serverstore - the store being compactedselected - the store files selected to compact
InternalScanner preCompact(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
InternalScanner scanner,
ScanType scanType,
CompactionRequest request)
throws IOException
StoreFiles 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.
c - the environment provided by the region serverstore - the store being compactedscanner - the scanner over existing data used in the store file rewritingscanType - type of Scanrequest - the requested compaction
null unless the
implementation is writing new store files on its own.
IOException - if an error occurred on the coprocessor
@Deprecated
InternalScanner preCompact(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
InternalScanner scanner,
ScanType scanType)
throws IOException
preCompact(ObserverContext, Store, InternalScanner,
ScanType, CompactionRequest) instead
StoreFiles 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.
c - the environment provided by the region serverstore - the store being compactedscanner - the scanner over existing data used in the store file rewritingscanType - type of Scan
null unless the
implementation is writing new store files on its own.
IOException - if an error occurred on the coprocessor
InternalScanner preCompactScannerOpen(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
List<? extends KeyValueScanner> scanners,
ScanType scanType,
long earliestPutTs,
InternalScanner s,
CompactionRequest request)
throws IOException
StoreFiles selected for compaction into a new
StoreFile and prior to creating the scanner used to read the input files. To override
or modify the compaction process, implementing classes can return a new scanner to provide the
KeyValues to be stored into the new StoreFile or null to perform the default
processing. Calling ObserverContext.bypass() has no
effect in this hook.
c - the environment provided by the region serverstore - the store being compactedscanners - the list StoreFileScanners to be read fromscanType - the ScanType indicating whether this is a major or minor compactionearliestPutTs - timestamp of the earliest put that was found in any of the involved store
filess - the base scanner, if not null, from previous RegionObserver in the chainrequest - the requested compaction
null if the default implementation is to
be used.
IOException - if an error occurred on the coprocessor
@Deprecated
InternalScanner preCompactScannerOpen(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
List<? extends KeyValueScanner> scanners,
ScanType scanType,
long earliestPutTs,
InternalScanner s)
throws IOException
preCompactScannerOpen(ObserverContext, Store, List, ScanType, long,
InternalScanner, CompactionRequest) instead.
StoreFiles selected for compaction into a new
StoreFile and prior to creating the scanner used to read the input files. To override
or modify the compaction process, implementing classes can return a new scanner to provide the
KeyValues to be stored into the new StoreFile or null to perform the default
processing. Calling ObserverContext.bypass() has no
effect in this hook.
c - the environment provided by the region serverstore - the store being compactedscanners - the list StoreFileScanners to be read fromscanType - the ScanType indicating whether this is a major or minor compactionearliestPutTs - timestamp of the earliest put that was found in any of the involved store
filess - the base scanner, if not null, from previous RegionObserver in the chain
null if the default implementation is to
be used.
IOException - if an error occurred on the coprocessor
void postCompact(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
StoreFile resultFile,
CompactionRequest request)
throws IOException
c - the environment provided by the region serverstore - the store being compactedresultFile - the new store file written out during compactionrequest - the requested compaction
IOException - if an error occurred on the coprocessor
@Deprecated
void postCompact(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
StoreFile resultFile)
throws IOException
postCompact(ObserverContext, Store, StoreFile, CompactionRequest)
instead
c - the environment provided by the region serverstore - the store being compactedresultFile - the new store file written out during compaction
IOException - if an error occurred on the coprocessor
void preSplit(ObserverContext<RegionCoprocessorEnvironment> c)
throws IOException
c - the environment provided by the region server
(e.getRegion() returns the parent region)
IOException - if an error occurred on the coprocessor
void preSplit(ObserverContext<RegionCoprocessorEnvironment> c,
byte[] splitRow)
throws IOException
c - the environment provided by the region server
(e.getRegion() returns the parent region)
IOException - if an error occurred on the coprocessor
void postSplit(ObserverContext<RegionCoprocessorEnvironment> c,
HRegion l,
HRegion r)
throws IOException
c - the environment provided by the region server
(e.getRegion() returns the parent region)l - the left daughter regionr - the right daughter region
IOException - if an error occurred on the coprocessor
void preSplitBeforePONR(ObserverContext<RegionCoprocessorEnvironment> ctx,
byte[] splitKey,
List<Mutation> metaEntries)
throws IOException
ObserverContext.bypass() rollback the split
ctx - splitKey - metaEntries -
IOException
void preSplitAfterPONR(ObserverContext<RegionCoprocessorEnvironment> ctx)
throws IOException
ObserverContext.bypass() has no
effect in this hook.
ctx -
IOException
void preRollBackSplit(ObserverContext<RegionCoprocessorEnvironment> ctx)
throws IOException
ctx -
IOException
void postRollBackSplit(ObserverContext<RegionCoprocessorEnvironment> ctx)
throws IOException
ctx -
IOException
void postCompleteSplit(ObserverContext<RegionCoprocessorEnvironment> ctx)
throws IOException
ctx -
IOException
void preClose(ObserverContext<RegionCoprocessorEnvironment> c,
boolean abortRequested)
throws IOException
c - the environment provided by the region serverabortRequested - true if the region server is aborting
IOException
void postClose(ObserverContext<RegionCoprocessorEnvironment> c,
boolean abortRequested)
c - the environment provided by the region serverabortRequested - true if the region server is aborting
void preGetClosestRowBefore(ObserverContext<RegionCoprocessorEnvironment> c,
byte[] row,
byte[] family,
Result result)
throws IOException
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - 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 coprocessor
void postGetClosestRowBefore(ObserverContext<RegionCoprocessorEnvironment> c,
byte[] row,
byte[] family,
Result result)
throws IOException
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - the environment provided by the region serverrow - the rowfamily - the desired familyresult - the result to return to the client, modify as necessary
IOException - if an error occurred on the coprocessor
void preGetOp(ObserverContext<RegionCoprocessorEnvironment> c,
Get get,
List<Cell> result)
throws IOException
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - 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 coprocessor
@Deprecated
void preGet(ObserverContext<RegionCoprocessorEnvironment> c,
Get get,
List<KeyValue> result)
throws IOException
IOException
void postGetOp(ObserverContext<RegionCoprocessorEnvironment> c,
Get get,
List<Cell> result)
throws IOException
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - the environment provided by the region serverget - the Get requestresult - the result to return to the client, modify as necessary
IOException - if an error occurred on the coprocessor
@Deprecated
void postGet(ObserverContext<RegionCoprocessorEnvironment> c,
Get get,
List<KeyValue> result)
throws IOException
IOException
boolean preExists(ObserverContext<RegionCoprocessorEnvironment> c,
Get get,
boolean exists)
throws IOException
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - the environment provided by the region serverget - the Get requestexists -
IOException - if an error occurred on the coprocessor
boolean postExists(ObserverContext<RegionCoprocessorEnvironment> c,
Get get,
boolean exists)
throws IOException
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - the environment provided by the region serverget - the Get requestexists - the result returned by the region server
IOException - if an error occurred on the coprocessor
void prePut(ObserverContext<RegionCoprocessorEnvironment> c,
Put put,
WALEdit edit,
Durability durability)
throws IOException
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - the environment provided by the region serverput - The Put objectedit - The WALEdit object that will be written to the waldurability - Persistence guarantee for this Put
IOException - if an error occurred on the coprocessor
void postPut(ObserverContext<RegionCoprocessorEnvironment> c,
Put put,
WALEdit edit,
Durability durability)
throws IOException
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - the environment provided by the region serverput - The Put objectedit - The WALEdit object for the waldurability - Persistence guarantee for this Put
IOException - if an error occurred on the coprocessor
void preDelete(ObserverContext<RegionCoprocessorEnvironment> c,
Delete delete,
WALEdit edit,
Durability durability)
throws IOException
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - the environment provided by the region serverdelete - The Delete objectedit - The WALEdit object for the waldurability - Persistence guarantee for this Delete
IOException - if an error occurred on the coprocessor
void prePrepareTimeStampForDeleteVersion(ObserverContext<RegionCoprocessorEnvironment> c,
Mutation mutation,
Cell cell,
byte[] byteNow,
Get get)
throws IOException
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - the environment provided by the region servermutation - - 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
void postDelete(ObserverContext<RegionCoprocessorEnvironment> c,
Delete delete,
WALEdit edit,
Durability durability)
throws IOException
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - the environment provided by the region serverdelete - The Delete objectedit - The WALEdit object for the waldurability - Persistence guarantee for this Delete
IOException - if an error occurred on the coprocessor
void preBatchMutate(ObserverContext<RegionCoprocessorEnvironment> c,
MiniBatchOperationInProgress<Mutation> miniBatchOp)
throws IOException
MiniBatchOperationInProgress.setOperationStatus(int, OperationStatus)),
RegionObserver can make HRegion to skip these Mutations.
c - the environment provided by the region serverminiBatchOp - batch of Mutations getting applied to region.
IOException - if an error occurred on the coprocessor
void postBatchMutate(ObserverContext<RegionCoprocessorEnvironment> c,
MiniBatchOperationInProgress<Mutation> miniBatchOp)
throws IOException
c - the environment provided by the region serverminiBatchOp - batch of Mutations applied to region.
IOException - if an error occurred on the coprocessor
void postStartRegionOperation(ObserverContext<RegionCoprocessorEnvironment> ctx,
HRegion.Operation operation)
throws IOException
HRegion.startRegionOperation().
ctx - operation - The operation is about to be taken on the region
IOException
void postCloseRegionOperation(ObserverContext<RegionCoprocessorEnvironment> ctx,
HRegion.Operation operation)
throws IOException
HRegion.closeRegionOperation(Operation).
ctx - operation -
IOException
void postBatchMutateIndispensably(ObserverContext<RegionCoprocessorEnvironment> ctx,
MiniBatchOperationInProgress<Mutation> miniBatchOp,
boolean success)
throws IOException
ctx - miniBatchOp - success - true if batch operation is successful otherwise false.
IOException
boolean preCheckAndPut(ObserverContext<RegionCoprocessorEnvironment> c,
byte[] row,
byte[] family,
byte[] qualifier,
CompareFilter.CompareOp compareOp,
ByteArrayComparable comparator,
Put put,
boolean result)
throws IOException
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - the environment provided by the region serverrow - row to checkfamily - column familyqualifier - column qualifiercompareOp - the comparison operationcomparator - the comparatorput - data to put if check succeedsresult -
IOException - if an error occurred on the coprocessor
boolean preCheckAndPutAfterRowLock(ObserverContext<RegionCoprocessorEnvironment> c,
byte[] row,
byte[] family,
byte[] qualifier,
CompareFilter.CompareOp compareOp,
ByteArrayComparable comparator,
Put put,
boolean result)
throws IOException
Note: 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
c - the environment provided by the region serverrow - row to checkfamily - column familyqualifier - column qualifiercompareOp - the comparison operationcomparator - the comparatorput - data to put if check succeedsresult -
IOException - if an error occurred on the coprocessor
boolean postCheckAndPut(ObserverContext<RegionCoprocessorEnvironment> c,
byte[] row,
byte[] family,
byte[] qualifier,
CompareFilter.CompareOp compareOp,
ByteArrayComparable comparator,
Put put,
boolean result)
throws IOException
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - the environment provided by the region serverrow - row to checkfamily - column familyqualifier - column qualifiercompareOp - the comparison operationcomparator - the comparatorput - data to put if check succeedsresult - from the checkAndPut
IOException - if an error occurred on the coprocessor
boolean preCheckAndDelete(ObserverContext<RegionCoprocessorEnvironment> c,
byte[] row,
byte[] family,
byte[] qualifier,
CompareFilter.CompareOp compareOp,
ByteArrayComparable comparator,
Delete delete,
boolean result)
throws IOException
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - the environment provided by the region serverrow - row to checkfamily - column familyqualifier - column qualifiercompareOp - the comparison operationcomparator - the comparatordelete - delete to commit if check succeedsresult -
IOException - if an error occurred on the coprocessor
boolean preCheckAndDeleteAfterRowLock(ObserverContext<RegionCoprocessorEnvironment> c,
byte[] row,
byte[] family,
byte[] qualifier,
CompareFilter.CompareOp compareOp,
ByteArrayComparable comparator,
Delete delete,
boolean result)
throws IOException
Note: 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
c - the environment provided by the region serverrow - row to checkfamily - column familyqualifier - column qualifiercompareOp - the comparison operationcomparator - the comparatordelete - delete to commit if check succeedsresult -
IOException - if an error occurred on the coprocessor
boolean postCheckAndDelete(ObserverContext<RegionCoprocessorEnvironment> c,
byte[] row,
byte[] family,
byte[] qualifier,
CompareFilter.CompareOp compareOp,
ByteArrayComparable comparator,
Delete delete,
boolean result)
throws IOException
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - the environment provided by the region serverrow - row to checkfamily - column familyqualifier - column qualifiercompareOp - the comparison operationcomparator - the comparatordelete - delete to commit if check succeedsresult - from the CheckAndDelete
IOException - if an error occurred on the coprocessor
@Deprecated
long preIncrementColumnValue(ObserverContext<RegionCoprocessorEnvironment> c,
byte[] row,
byte[] family,
byte[] qualifier,
long amount,
boolean writeToWAL)
throws IOException
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - 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 WAL
IOException - if an error occurred on the coprocessor
@Deprecated
long postIncrementColumnValue(ObserverContext<RegionCoprocessorEnvironment> c,
byte[] row,
byte[] family,
byte[] qualifier,
long amount,
boolean writeToWAL,
long result)
throws IOException
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - 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 WALresult - the result returned by incrementColumnValue
IOException - if an error occurred on the coprocessor
Result preAppend(ObserverContext<RegionCoprocessorEnvironment> c,
Append append)
throws IOException
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - the environment provided by the region serverappend - Append object
IOException - if an error occurred on the coprocessor
Result preAppendAfterRowLock(ObserverContext<RegionCoprocessorEnvironment> c,
Append append)
throws IOException
Note: 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
c - the environment provided by the region serverappend - Append object
IOException - if an error occurred on the coprocessor
Result postAppend(ObserverContext<RegionCoprocessorEnvironment> c,
Append append,
Result result)
throws IOException
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - the environment provided by the region serverappend - Append objectresult - the result returned by increment
IOException - if an error occurred on the coprocessor
Result preIncrement(ObserverContext<RegionCoprocessorEnvironment> c,
Increment increment)
throws IOException
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - the environment provided by the region serverincrement - increment object
IOException - if an error occurred on the coprocessor
Result preIncrementAfterRowLock(ObserverContext<RegionCoprocessorEnvironment> c,
Increment increment)
throws IOException
Note: 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
c - the environment provided by the region serverincrement - increment object
IOException - if an error occurred on the coprocessor
Result postIncrement(ObserverContext<RegionCoprocessorEnvironment> c,
Increment increment,
Result result)
throws IOException
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - the environment provided by the region serverincrement - increment objectresult - the result returned by increment
IOException - if an error occurred on the coprocessor
RegionScanner preScannerOpen(ObserverContext<RegionCoprocessorEnvironment> c,
Scan scan,
RegionScanner s)
throws IOException
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - the environment provided by the region serverscan - the Scan specifications - if not null, the base scanner
IOException - if an error occurred on the coprocessor
KeyValueScanner preStoreScannerOpen(ObserverContext<RegionCoprocessorEnvironment> c,
Store store,
Scan scan,
NavigableSet<byte[]> targetCols,
KeyValueScanner s)
throws IOException
See preFlushScannerOpen(ObserverContext, Store, KeyValueScanner, InternalScanner)
and preCompactScannerOpen(ObserverContext,
Store, List, ScanType, long, InternalScanner)
to override scanners created for flushes or compactions, resp.
Call CoprocessorEnvironment#complete to skip any subsequent chained
coprocessors.
Calling ObserverContext.bypass() has no
effect in this hook.
c - the environment provided by the region serverstore - the store being scannedscan - the Scan specificationtargetCols - columns to be used in the scanners - the base scanner, if not null, from previous RegionObserver in the chain
null to use the default implementation
IOException - if an error occurred on the coprocessor
RegionScanner postScannerOpen(ObserverContext<RegionCoprocessorEnvironment> c,
Scan scan,
RegionScanner s)
throws IOException
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - the environment provided by the region serverscan - the Scan specifications - if not null, the base scanner
IOException - if an error occurred on the coprocessor
boolean preScannerNext(ObserverContext<RegionCoprocessorEnvironment> c,
InternalScanner s,
List<Result> result,
int limit,
boolean hasNext)
throws IOException
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
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 coprocessor
boolean postScannerNext(ObserverContext<RegionCoprocessorEnvironment> c,
InternalScanner s,
List<Result> result,
int limit,
boolean hasNext)
throws IOException
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - the environment provided by the region servers - the scannerresult - the result to return to the client, can be modifiedlimit - the maximum number of results to returnhasNext - the 'has more' indication
IOException - if an error occurred on the coprocessor
boolean postScannerFilterRow(ObserverContext<RegionCoprocessorEnvironment> c,
InternalScanner s,
byte[] currentRow,
int offset,
short length,
boolean hasMore)
throws IOException
boolean filterRowKey(byte [] buffer, int offset, int length) returning trueboolean filterRow() returning truevoid filterRow(List kvs) removing all the kvs from the passed List
c - the environment provided by the region servers - the scannercurrentRow - The current rowkey which got filtered outoffset - offset to rowkeylength - length of rowkeyhasMore - the 'has more' indication
IOException
void preScannerClose(ObserverContext<RegionCoprocessorEnvironment> c,
InternalScanner s)
throws IOException
Call CoprocessorEnvironment#bypass to skip default actions
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - the environment provided by the region servers - the scanner
IOException - if an error occurred on the coprocessor
void postScannerClose(ObserverContext<RegionCoprocessorEnvironment> c,
InternalScanner s)
throws IOException
Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
c - the environment provided by the region servers - the scanner
IOException - if an error occurred on the coprocessor
void preWALRestore(ObserverContext<RegionCoprocessorEnvironment> ctx,
HRegionInfo info,
HLogKey logKey,
WALEdit logEdit)
throws IOException
WALEdit
replayed for this region.
ctx - info - logKey - logEdit -
IOException
void postWALRestore(ObserverContext<RegionCoprocessorEnvironment> ctx,
HRegionInfo info,
HLogKey logKey,
WALEdit logEdit)
throws IOException
WALEdit
replayed for this region.
ctx - info - logKey - logEdit -
IOException
void preBulkLoadHFile(ObserverContext<RegionCoprocessorEnvironment> ctx,
List<Pair<byte[],String>> familyPaths)
throws IOException
ctx - familyPaths - pairs of { CF, HFile path } submitted for bulk load. Adding
or removing from this list will add or remove HFiles to be bulk loaded.
IOException
boolean postBulkLoadHFile(ObserverContext<RegionCoprocessorEnvironment> ctx,
List<Pair<byte[],String>> familyPaths,
boolean hasLoaded)
throws IOException
ctx - familyPaths - pairs of { CF, HFile path } submitted for bulk loadhasLoaded - whether the bulkLoad was successful
IOException
StoreFile.Reader preStoreFileReaderOpen(ObserverContext<RegionCoprocessorEnvironment> ctx,
org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.Path p,
FSDataInputStreamWrapper in,
long size,
CacheConfig cacheConf,
Reference r,
StoreFile.Reader reader)
throws IOException
ObserverContext.bypass() has no
effect in this hook.
ctx - the environment provided by the region serverfs - fileystem to read fromp - path to the filein - FSDataInputStreamWrappersize - Full size of the filecacheConf - r - original reference file. This will be not null only when reading a split file.reader - the base reader, if not null, from previous RegionObserver in the chain
IOException
StoreFile.Reader postStoreFileReaderOpen(ObserverContext<RegionCoprocessorEnvironment> ctx,
org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.Path p,
FSDataInputStreamWrapper in,
long size,
CacheConfig cacheConf,
Reference r,
StoreFile.Reader reader)
throws IOException
ctx - the environment provided by the region serverfs - fileystem to read fromp - path to the filein - FSDataInputStreamWrappersize - Full size of the filecacheConf - r - original reference file. This will be not null only when reading a split file.reader - the base reader instance
IOException
Cell postMutationBeforeWAL(ObserverContext<RegionCoprocessorEnvironment> ctx,
RegionObserver.MutationType opType,
Mutation mutation,
Cell oldCell,
Cell newCell)
throws IOException
ObserverContext.bypass() has no
effect in this hook.
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
DeleteTracker postInstantiateDeleteTracker(ObserverContext<RegionCoprocessorEnvironment> ctx,
DeleteTracker delTracker)
throws IOException
ctx - the environment provided by the region serverdelTracker - the deleteTracker that is created by the QueryMatcher
IOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||