hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Hsieh (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-6573) Distributed Three-Phase Commit framework.
Date Tue, 06 Nov 2012 20:50:12 GMT

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

Jonathan Hsieh commented on HBASE-6573:

Update on this - I've been re-organizing the code here to simplify it.  A draft can be seen


I'm currently working on getting the TS snapshot functionality passing unit tests again. 
Once I get that I'll, summarize the changes and rebase/port onto the current snapshot branch.

Some key things to note.  

1) This is a framework that uses zookeeper as an rpc/coordination mechanism.  Masters and
region servers are only communicating via ZK.
2) This isn't a commit protocol -- if errors occur after the traditional 2pc coordinator commit
point the current behavior is to reset (remove znodes) or and essentially abort.   Traditional
2PC/3PC style algorithms would recover from any failure after this commit point.  This mechanism
seems to be overkill for log-rolling or timestamp snapshots.  For the globally-consistent
flavor, I think we really want a distributed 2 phase locking protocol instead of a 2 phase
commit protocol.  

For the time being, my opinion is to work to get this chunk of code into the snapshot branch,
and then do patches on top of this to further simplify the implementation.
> Distributed Three-Phase Commit framework.
> -----------------------------------------
>                 Key: HBASE-6573
>                 URL: https://issues.apache.org/jira/browse/HBASE-6573
>             Project: HBase
>          Issue Type: Sub-task
>    Affects Versions: 0.96.0
>            Reporter: Jesse Yates
>            Assignee: Jesse Yates
>             Fix For: hbase-6055
>         Attachments: java_HBASE-6573-v0.patch
> For HBASE-6055 (snapshots), we do two-phase commit in several places. This is a generally
useful paradigm for a distributed system.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message