hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Helmling (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-11447) Proposal for a generic transaction API for HBase
Date Thu, 03 Jul 2014 05:30:05 GMT

    [ https://issues.apache.org/jira/browse/HBASE-11447?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14051081#comment-14051081
] 

Gary Helmling commented on HBASE-11447:
---------------------------------------

Thanks for posting this.

TransactionManager:
* The {{resume}} methods seem implementation specific.  I'm not sure the idea of suspend/resume
of a transaction would be generally applicable.
* Why are transaction states shown as constants on this class instead of an enum of states
on the Transaction class?

Transaction:
* I don't really understand why some transaction "actions" (commit, rollback, suspend) are
represented here, while others are represented on TransactionManager.  This seems like a blurring
of concerns between the two classes.  I would more expect all the "actions" to be present
on TransactionManager and the Transaction class to just represent the transaction state.
* setTransactionTimeout() - does it make sense to set the timeout on an individual transaction
after it's started?  I think it would be better to be able to specify a timeout when calling
TransactionManager.begin()
* setRollbackOnly() - I don't understand why this is needed instead of simply rolling back
the transaction.  Seems like an implementation detail?

TransactionTable:
* I agree with previous comments that we should provide a way of setting a transaction on
a table, then leaving the HTableInterface methods unchanged.  In the same way that HTable
is not thread safe for writes, it doesn't make sense to me to mix operations from different
transactions.

HeuristicCommitException/HeuristicMixedException/HeuristicRollbackException:
* these all seem implementation specific



> 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)

Mime
View raw message