[ 
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 here:

https://github.com/jmhsieh/hbase/tree/snapshot-ts-threadchange

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

Reply via email to