[
https://issues.apache.org/jira/browse/HBASE-1110?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12662183#action_12662183
]
stack commented on HBASE-1110:
------------------------------
Pertaining to master distribution -- not so much to zk integration (though it
has a role to play if a crash) -- log splitting is currently a hacked-up master
responsibility that needs to be distributed instead so splits are run promptly.
Also, our current split code does not survive a master crash. In ZK we can
keep record of logs processed so on resumption, a distributed splitting process
can resume where it last left off.
> Distribute the master role to HRS after ZK integration
> ------------------------------------------------------
>
> Key: HBASE-1110
> URL: https://issues.apache.org/jira/browse/HBASE-1110
> Project: Hadoop HBase
> Issue Type: Improvement
> Reporter: Andrew Purtell
> Priority: Minor
>
> After ZK integration, the master role can be distributed out to the HRS as
> group behaviors mediated by synchronization and rendezvous points in ZK.
> - State sharing, for example load.
> -- Load information can be shared with neighbors via ephemeral child
> status znodes of a znode representing the cluster root.
> -- Region servers can periodically walk the status nodes of their
> neighbors. If they find themselves loaded relative to others, they can
> release regions. If they find themselves less loaded relative to others, they
> can be more aggressive about finding unassigned regions (see below).
> - Ephemeral znodes for region ownership, e.g.
> /hbase//<region>/<ephemeral-node>
> -- Use a permanent child of <region> to serve as a 'dirty' flag, removed
> during normal close.
> - A distributed queue for region assignment.
> -- When coming up, HRS can check the assignment queue for candidates.
> -- HRS shutdown includes marking regions clean and moving them onto
> assignment queue.
> -- All/any HRS can do occasional random walks over region leases looking
> for expired-dirty state (when timeout causes ZK to delete the ephemeral node
> representing the lease), and can helpfully move them first to a queue (+
> barrier) for splitting then onto the assignment queue.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.