You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2012/12/01 23:59:58 UTC

[jira] [Commented] (HBASE-7212) Globally Barriered Procedure mechanism

    [ 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