public class TransactionProcessor
extends org.apache.hadoop.hbase.coprocessor.BaseRegionObserver
org.apache.hadoop.hbase.coprocessor.RegionObserver
coprocessor that handles server-side processing
for transactions:
In order to use this coprocessor for transactions, configure the class on any table involved in transactions,
or on all user tables by adding the following to hbase-site.xml:
<property>
<name>hbase.coprocessor.region.classes</name>
<value>org.apache.tephra.hbase.coprocessor.TransactionProcessor</value>
</property>
HBase Get
and Scan
operations should have the current transaction serialized on to the operation
as an attribute:
Transaction t = ...;
Get get = new Get(...);
TransactionCodec codec = new TransactionCodec();
codec.addToOperation(get, t);
Modifier and Type | Field and Description |
---|---|
protected boolean |
allowEmptyValues |
protected boolean |
readNonTxnData |
protected Map<byte[],Long> |
ttlByFamily |
Constructor and Description |
---|
TransactionProcessor() |
Modifier and Type | Method and Description |
---|---|
protected org.apache.hadoop.hbase.regionserver.InternalScanner |
createStoreScanner(org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment env,
String action,
TransactionVisibilityState snapshot,
org.apache.hadoop.hbase.regionserver.Store store,
List<? extends org.apache.hadoop.hbase.regionserver.KeyValueScanner> scanners,
org.apache.hadoop.hbase.regionserver.ScanType type,
long earliestPutTs) |
protected org.apache.hadoop.hbase.filter.Filter |
getTransactionFilter(Transaction tx,
org.apache.hadoop.hbase.regionserver.ScanType type,
org.apache.hadoop.hbase.filter.Filter filter)
Derived classes can override this method to customize the filter used to return data visible for the current
transaction.
|
protected com.google.common.base.Supplier<TransactionStateCache> |
getTransactionStateCacheSupplier(org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment env) |
org.apache.hadoop.hbase.regionserver.InternalScanner |
preCompactScannerOpen(org.apache.hadoop.hbase.coprocessor.ObserverContext<org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment> c,
org.apache.hadoop.hbase.regionserver.Store store,
List<? extends org.apache.hadoop.hbase.regionserver.KeyValueScanner> scanners,
org.apache.hadoop.hbase.regionserver.ScanType scanType,
long earliestPutTs,
org.apache.hadoop.hbase.regionserver.InternalScanner s,
org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest request) |
void |
preDelete(org.apache.hadoop.hbase.coprocessor.ObserverContext<org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment> e,
org.apache.hadoop.hbase.client.Delete delete,
org.apache.hadoop.hbase.regionserver.wal.WALEdit edit,
org.apache.hadoop.hbase.client.Durability durability) |
org.apache.hadoop.hbase.regionserver.InternalScanner |
preFlushScannerOpen(org.apache.hadoop.hbase.coprocessor.ObserverContext<org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment> c,
org.apache.hadoop.hbase.regionserver.Store store,
org.apache.hadoop.hbase.regionserver.KeyValueScanner memstoreScanner,
org.apache.hadoop.hbase.regionserver.InternalScanner scanner) |
void |
preGetOp(org.apache.hadoop.hbase.coprocessor.ObserverContext<org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment> e,
org.apache.hadoop.hbase.client.Get get,
List<org.apache.hadoop.hbase.Cell> results) |
org.apache.hadoop.hbase.regionserver.RegionScanner |
preScannerOpen(org.apache.hadoop.hbase.coprocessor.ObserverContext<org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment> e,
org.apache.hadoop.hbase.client.Scan scan,
org.apache.hadoop.hbase.regionserver.RegionScanner s) |
void |
start(org.apache.hadoop.hbase.CoprocessorEnvironment e) |
void |
stop(org.apache.hadoop.hbase.CoprocessorEnvironment e) |
postAppend, postBatchMutate, postBatchMutateIndispensably, postBulkLoadHFile, postCheckAndDelete, postCheckAndPut, postClose, postCloseRegionOperation, postCompact, postCompact, postCompactSelection, postCompactSelection, postCompleteSplit, postDelete, postExists, postFlush, postFlush, postGetClosestRowBefore, postGetOp, postIncrement, postIncrementColumnValue, postInstantiateDeleteTracker, postLogReplay, postMutationBeforeWAL, postOpen, postPut, postRollBackSplit, postScannerClose, postScannerFilterRow, postScannerNext, postScannerOpen, postSplit, postStartRegionOperation, postStoreFileReaderOpen, postWALRestore, postWALRestore, preAppend, preAppendAfterRowLock, preBatchMutate, preBulkLoadHFile, preCheckAndDelete, preCheckAndDeleteAfterRowLock, preCheckAndPut, preCheckAndPutAfterRowLock, preClose, preCompact, preCompact, preCompactScannerOpen, preCompactSelection, preCompactSelection, preExists, preFlush, preFlush, preGetClosestRowBefore, preIncrement, preIncrementAfterRowLock, preIncrementColumnValue, preOpen, prePrepareTimeStampForDeleteVersion, prePut, preRollBackSplit, preScannerClose, preScannerNext, preSplit, preSplit, preSplitAfterPONR, preSplitBeforePONR, preStoreFileReaderOpen, preStoreScannerOpen, preWALRestore, preWALRestore
protected boolean allowEmptyValues
protected boolean readNonTxnData
public void start(org.apache.hadoop.hbase.CoprocessorEnvironment e) throws IOException
start
in interface org.apache.hadoop.hbase.Coprocessor
start
in class org.apache.hadoop.hbase.coprocessor.BaseRegionObserver
IOException
protected com.google.common.base.Supplier<TransactionStateCache> getTransactionStateCacheSupplier(org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment env)
public void stop(org.apache.hadoop.hbase.CoprocessorEnvironment e) throws IOException
stop
in interface org.apache.hadoop.hbase.Coprocessor
stop
in class org.apache.hadoop.hbase.coprocessor.BaseRegionObserver
IOException
public void preGetOp(org.apache.hadoop.hbase.coprocessor.ObserverContext<org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment> e, org.apache.hadoop.hbase.client.Get get, List<org.apache.hadoop.hbase.Cell> results) throws IOException
preGetOp
in interface org.apache.hadoop.hbase.coprocessor.RegionObserver
preGetOp
in class org.apache.hadoop.hbase.coprocessor.BaseRegionObserver
IOException
public void preDelete(org.apache.hadoop.hbase.coprocessor.ObserverContext<org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment> e, org.apache.hadoop.hbase.client.Delete delete, org.apache.hadoop.hbase.regionserver.wal.WALEdit edit, org.apache.hadoop.hbase.client.Durability durability) throws IOException
preDelete
in interface org.apache.hadoop.hbase.coprocessor.RegionObserver
preDelete
in class org.apache.hadoop.hbase.coprocessor.BaseRegionObserver
IOException
public org.apache.hadoop.hbase.regionserver.RegionScanner preScannerOpen(org.apache.hadoop.hbase.coprocessor.ObserverContext<org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment> e, org.apache.hadoop.hbase.client.Scan scan, org.apache.hadoop.hbase.regionserver.RegionScanner s) throws IOException
preScannerOpen
in interface org.apache.hadoop.hbase.coprocessor.RegionObserver
preScannerOpen
in class org.apache.hadoop.hbase.coprocessor.BaseRegionObserver
IOException
public org.apache.hadoop.hbase.regionserver.InternalScanner preFlushScannerOpen(org.apache.hadoop.hbase.coprocessor.ObserverContext<org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment> c, org.apache.hadoop.hbase.regionserver.Store store, org.apache.hadoop.hbase.regionserver.KeyValueScanner memstoreScanner, org.apache.hadoop.hbase.regionserver.InternalScanner scanner) throws IOException
preFlushScannerOpen
in interface org.apache.hadoop.hbase.coprocessor.RegionObserver
preFlushScannerOpen
in class org.apache.hadoop.hbase.coprocessor.BaseRegionObserver
IOException
public org.apache.hadoop.hbase.regionserver.InternalScanner preCompactScannerOpen(org.apache.hadoop.hbase.coprocessor.ObserverContext<org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment> c, org.apache.hadoop.hbase.regionserver.Store store, List<? extends org.apache.hadoop.hbase.regionserver.KeyValueScanner> scanners, org.apache.hadoop.hbase.regionserver.ScanType scanType, long earliestPutTs, org.apache.hadoop.hbase.regionserver.InternalScanner s, org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest request) throws IOException
preCompactScannerOpen
in interface org.apache.hadoop.hbase.coprocessor.RegionObserver
preCompactScannerOpen
in class org.apache.hadoop.hbase.coprocessor.BaseRegionObserver
IOException
protected org.apache.hadoop.hbase.regionserver.InternalScanner createStoreScanner(org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment env, String action, TransactionVisibilityState snapshot, org.apache.hadoop.hbase.regionserver.Store store, List<? extends org.apache.hadoop.hbase.regionserver.KeyValueScanner> scanners, org.apache.hadoop.hbase.regionserver.ScanType type, long earliestPutTs) throws IOException
IOException
protected org.apache.hadoop.hbase.filter.Filter getTransactionFilter(Transaction tx, org.apache.hadoop.hbase.regionserver.ScanType type, org.apache.hadoop.hbase.filter.Filter filter)
tx
- the current transaction to applytype
- the type of scan operation being performedCopyright © 2016 The Apache Software Foundation. All rights reserved.