[
https://issues.apache.org/jira/browse/HBASE-11447?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14048749#comment-14048749
]
Lars Hofhansl commented on HBASE-11447:
---------------------------------------
Cool.
* I would like to discuss associating a TransactionHTable object with a
Transaction upon construction and then use the normal put/delete/etc methods.
HTables are lightweight now and hence can be created for each transaction. That
way the API is the same (besides construction) and we won't have two
implementations of each operation. The Transaction could even have a getter for
HTableInterface instances.
* PREPARED/PREPARING implies 2PC transactions only?
* For optimistic concurrency control (OCC) and snapshot isolation (SI) a
transaction would need to include: the write TS, the read TS, potentially
uncommitted transactions newer than the read point, etc. I.e. Transaction maybe
should just be a marker interface to be passed around, but details are left to
the implementation.
* We should allow distinguishing between read only and read write transactions.
(important for OCC)
* We should also be able to indicate isolation level. Full serializable
transactions are very expensive in a distributed environment when many rows are
read/updated.
> Proposal for a generic transaction API for HBase
> ------------------------------------------------
>
> Key: HBASE-11447
> URL: https://issues.apache.org/jira/browse/HBASE-11447
> Project: HBase
> Issue Type: New Feature
> Components: Client
> Affects Versions: 1.0.0
> Environment: Any.
> Reporter: John de Roo
> Priority: Minor
> Labels: features, newbie
> Fix For: 1.0.0
>
> Attachments: Open Transaction Interface.pdf
>
>
> HBase transaction management today is provided by a number of products, each
> implementing a different API, each having different strengths. The lack of a
> common API for transactional interfaces means that applications need to be
> coded to work with a specific Transaction Manager. This proposal outlines an
> API which, if implemented by the different Transaction Manager vendors would
> provide stability and choice to HBase application developers.
--
This message was sent by Atlassian JIRA
(v6.2#6252)