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

stack commented on HBASE-7212:
------------------------------

Doc looks great.

Do you have to write it yourself?  Anything already available that you could 
use?  Say we used the zk curator client, it has a few barriers implemented 
already: https://github.com/Netflix/curator/wiki/Recipes  If we were using 
curator say, could you use these receipes as building blocks so you didn't have 
to write this yourself? (This feature has to be backportable to 0.94?)

Reading the diagram, I"m not sure what receivedreached is.  Or sendReached.  
sendReached is the coordinator saying all participants responded/are 
participating?

On your barrier you say "...but does not support ACID semantics" and thats ok 
because the 'transactions' we'll be running over this mechanism do not require 
it?  Because they can proceed and complete in any order and result will come 
off the same?

You say "....Does not recover on failures" ... because the operation just 
FAILs.  Right?

Only one of these precedures can be ongoingn at any one time?  Is that right?

How do I read these set of slides?  There is a 'Barrier Procedure Coordination' 
and then there is 'Procedure Coordination'?  So, the PC makes use of a BPC?  
BPC is the skeleton you hang PC on?

Why you say this 'If we aren’t doing proper 2PC do we need all this 
infrastructure?'?  Are you making a case for our not needing 2PC given what is 
being implemented?

Coordinator can be any client?  Does not have to be master?

What is ProcedureCoordinateComms?

Does this barrier acquistion have any relation to zk barrier receipe?  
http://zookeeper.apache.org/doc/trunk/recipes.html#sc_recipes_eventHandles

What is 'class' in the zk node hierarchy?  Class of procedure?

Procedure looks good to me.
                
> Globally Barriered Procedure mechanism
> --------------------------------------
>
>                 Key: HBASE-7212
>                 URL: https://issues.apache.org/jira/browse/HBASE-7212
>             Project: HBase
>          Issue Type: Sub-task
>          Components: snapshots
>    Affects Versions: hbase-6055
>            Reporter: Jonathan Hsieh
>            Assignee: Jonathan Hsieh
>             Fix For: hbase-6055
>
>         Attachments: 121127-global-barrier-proc.pdf, hbase-7212.patch, 
> pre-hbase-7212.patch
>
>
> This is a simplified version of what was proposed in HBASE-6573.  Instead of 
> claiming to be a 2pc or 3pc implementation (which implies logging at each 
> actor, and recovery operations) this is just provides a best effort global 
> barrier mechanism called a Procedure.  
> Users need only to implement a methods to acquireBarrier, to act when 
> insideBarrier, and to releaseBarrier that use the ExternalException 
> cooperative error checking mechanism.
> Globally consistent snapshots require the ability to quiesce writes to a set 
> of region servers before a the snapshot operation is executed.  Also if any 
> node fails, it needs to be able to notify them so that they abort.
> The first cut of other online snapshots don't need the fully barrier but may 
> still use this for its error propagation mechanisms.
> This version removes the extra layer incurred in the previous implementation 
> due to the use of generics, separates the coordinator and members, and 
> reduces the amount of inheritance used in favor of composition.

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