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

Jonathan Hsieh commented on HBASE-5487:
---------------------------------------

Thanks for writing this up.  I read the first two sections and haven't spent 
time reading the details of the others yet.  (already have a bunch of 
quetsions).

So the only problem is that the assignment manager and ssh is difficult to 
reason about?  Is the assignment manager the only "master coordinated" task in 
scope? 

I think there are more problems than that that we should enumerate:
* Instead of asserting it is not clear if table (+region) locks scale, let's 
find out.  
* Master operations and processes can clash and we should understand where we 
need concurrency control.  (I'm working on a table -- here's an draft distilled 
version [1], there exists an overly detailed version that I'll share once i get 
it fixed)
* Should there be a notion of queuing operations?  (locking, or an actual 
queue) Should these operations be generically logged so they can complete if a 
master goes down in the middle? (ex: master goes down during a "move" operation 
after the close but before the open on the new rs).

The "design principles" is actually more of a proposed design.  

Design principles::region record
* how do we deal with operations where we need "locks" on multiple region 
because we are reading or modifying multiple regions -- e.g. splits, merges, 
snapshots?  [~mbertozzi] had suggested in another jira making a the meta row 
per table, or maybe part of the solution is using the multi-row single meta 
region transaction.

What are alternatives?  why this approach vs others? 

[1]  
https://docs.google.com/spreadsheet/ccc?key=0AiVCAt6zRttFdDRVaG56RnpQZlNNZUNsRVJsSXM3YlE&usp=sharing
                
> Generic framework for Master-coordinated tasks
> ----------------------------------------------
>
>                 Key: HBASE-5487
>                 URL: https://issues.apache.org/jira/browse/HBASE-5487
>             Project: HBase
>          Issue Type: New Feature
>          Components: master, regionserver, Zookeeper
>    Affects Versions: 0.94.0
>            Reporter: Mubarak Seyed
>         Attachments: Region management in Master.pdf
>
>
> Need a framework to execute master-coordinated tasks in a fault-tolerant 
> manner. 
> Master-coordinated tasks such as online-scheme change and delete-range 
> (deleting region(s) based on start/end key) can make use of this framework.
> The advantages of framework are
> 1. Eliminate repeated code in Master, ZooKeeper tracker and Region-server for 
> master-coordinated tasks
> 2. Ability to abstract the common functions across Master -> ZK and RS -> ZK
> 3. Easy to plugin new master-coordinated tasks without adding code to core 
> components

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