hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HBASE-3559) Move report of split to master OFF the heartbeat channel
Date Thu, 24 Feb 2011 01:21:38 GMT

     [ https://issues.apache.org/jira/browse/HBASE-3559?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

stack updated HBASE-3559:

    Attachment: 3559.txt

Implementation.   Tests next.

> Move report of split to master OFF the heartbeat channel
> --------------------------------------------------------
>                 Key: HBASE-3559
>                 URL: https://issues.apache.org/jira/browse/HBASE-3559
>             Project: HBase
>          Issue Type: Task
>            Reporter: stack
>         Attachments: 3559.txt
> The heartbeat in hbase is about to go away.  See hbase-1502.  This issue is about moving
the report of a split region off the heartbeat channel.  This work needs to be done before
I can finish up hbase-1502.
> Here is a provisional 'design' for how report of split to master will now work.
> Instead of riding a split message on the regionserver to master heartbeat, the regionserver
will put up a znode under (the badly named) 'unassigned' directory; i.e. the regionserver
will put the region into 'transition' (RIT).  Usually the master does all RIT machinations.
 Splits will be an exception.
> The regionserver will move the znode through two states: SPLITTING and SPLIT. The master
will clean up the SPLIT znode on receipt of child changed callback.
> There will be no extra data in the SPLITTING znode beyond the SPLITTING state name. 
The SPLIT znode will contain the name of the split daughters.
> Any region in RIT will block the balancer running.  This could be an issue if lots of
splits going on across a cluster.
> Master will need to handle new SPLIT and SPLITTING states and that another may have already
written the RIT (unit tests).
> As before, regionserver figures region to split and runs CompactSplitThread#split.  As
before, this invokes SplitTransaction with its prepare, execute and when necessary rollback
phase.  Into the execute we'll add the setting of SPLITTING znode into RIT.  The execution
will end with setting the SPLIT znode state.  Master will read and clear the SPLIT state when

This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message