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>co.cask.tephra.hbase94.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 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,
TransactionSnapshot 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 scanType)
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) |
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 s) |
void |
preGet(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.KeyValue> 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, postBulkLoadHFile, postCheckAndDelete, postCheckAndPut, postClose, postCompact, postCompact, postCompactSelection, postCompactSelection, postDelete, postExists, postFlush, postFlush, postGet, postGetClosestRowBefore, postIncrement, postIncrementColumnValue, postLockRow, postOpen, postPut, postScannerClose, postScannerFilterRow, postScannerNext, postScannerOpen, postSplit, postUnlockRow, postWALRestore, preAppend, preBatchMutate, preBulkLoadHFile, preCheckAndDelete, preCheckAndPut, preClose, preCompact, preCompact, preCompactScannerOpen, preCompactSelection, preCompactSelection, preDelete, preExists, preFlush, preFlush, preGetClosestRowBefore, preIncrement, preIncrementColumnValue, preLockRow, preOpen, prePut, preScannerClose, preScannerNext, preSplit, preStoreScannerOpen, preUnlockRow, preWALRestorepublic void start(org.apache.hadoop.hbase.CoprocessorEnvironment e)
throws IOException
start in interface org.apache.hadoop.hbase.Coprocessorstart in class org.apache.hadoop.hbase.coprocessor.BaseRegionObserverIOExceptionprotected 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.Coprocessorstop in class org.apache.hadoop.hbase.coprocessor.BaseRegionObserverIOExceptionpublic void preGet(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.KeyValue> results)
throws IOException
preGet in interface org.apache.hadoop.hbase.coprocessor.RegionObserverpreGet in class org.apache.hadoop.hbase.coprocessor.BaseRegionObserverIOExceptionpublic 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.RegionObserverpreScannerOpen in class org.apache.hadoop.hbase.coprocessor.BaseRegionObserverIOExceptionpublic 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 s)
throws IOException
preFlushScannerOpen in interface org.apache.hadoop.hbase.coprocessor.RegionObserverpreFlushScannerOpen in class org.apache.hadoop.hbase.coprocessor.BaseRegionObserverIOExceptionpublic 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.RegionObserverpreCompactScannerOpen in class org.apache.hadoop.hbase.coprocessor.BaseRegionObserverIOExceptionprotected org.apache.hadoop.hbase.regionserver.InternalScanner createStoreScanner(org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment env,
String action,
TransactionSnapshot 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
IOExceptionprotected org.apache.hadoop.hbase.filter.Filter getTransactionFilter(Transaction tx, org.apache.hadoop.hbase.regionserver.ScanType scanType)
tx - the current transaction to applyscanType - the type of scan operation being performedCopyright © 2015. All Rights Reserved.