|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
---|---|
TransactionLogger | Simple interface used to provide a log about transaction status. |
Class Summary | |
---|---|
HBaseBackedTransactionLogger | |
JtaXAResource | View hbase as a JTA transactional resource. |
LocalTransactionLogger | A local, in-memory implementation of the transaction logger. |
TransactionalRPC | Simple class for registering the transactional RPC codes. |
TransactionalTable | Table with transactional support. |
TransactionManager | Transaction Manager. |
TransactionState | Holds client-side transaction information. |
Enum Summary | |
---|---|
TransactionLogger.TransactionStatus | Transaction status values |
Exception Summary | |
---|---|
CommitUnsuccessfulException | Thrown when a transaction cannot be committed. |
UnknownTransactionException | Thrown if a region server is passed an unknown transaction id |
This package provides support for atomic transactions. Transactions can span multiple regions. Transaction writes are applied when committing a transaction. At commit time, the transaction is examined to see if it can be applied while still maintaining atomicity. This is done by looking for conflicts with the transactions that committed while the current transaction was running. This technique is known as optimistic concurrency control (OCC) because it relies on the assumption that transactions will mostly not have conflicts with each other.
For more details on OCC, see the paper On Optimistic Methods for Concurrency Control by Kung and Robinson available here .
To enable transactions, modify hbase-site.xml to turn on the TransactionalRegionServer. This is done by setting hbase.regionserver.class to org.apache.hadoop.hbase.ipc.TransactionalRegionInterface and hbase.regionserver.impl to org.apache.hadoop.hbase.regionserver.transactional.TransactionalRegionServer
The read set claimed by a transactional scanner is determined from the start and end keys which the scanner is opened with.
|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |