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 2010/09/30 21:53:32 UTC

[jira] Commented: (HBASE-3019) Make bulk assignment on cluster startup run faster

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

stack commented on HBASE-3019:
------------------------------

Duh.  So I was doing assignments twice in patch; once in Excecutor and once inside the loop that added Executor Runnable.

So, after more messing on cluster, this patch runs 10-20% faster than the old way of bulk assigning (Almost 4 minutes for old way vs just under 3 1/2 minutes for this bulk load patch loading 2k regions over 9 servers).  There isn't much in it but this patch should be a bit more robust than what was there previous and will do better on bigger cluster since has bounded ExecutorService rather than a thread per RS.

I and trying various like assigning in bulk ten regions at a time doing zk update and open rpc ten at a time but seemed to make no difference.  Also tried waiting on one servers updating all in zk, doing its bulk open, then moving to next but that seemed slower.

Putting patch up for review.

> Make bulk assignment on cluster startup run faster
> --------------------------------------------------
>
>                 Key: HBASE-3019
>                 URL: https://issues.apache.org/jira/browse/HBASE-3019
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: stack
>         Attachments: bulk-v4.txt, bulk-v7.txt
>
>
> Currently, as of HBASE-3018, we come up with a bulk assignment plan that is sorted by server.  We then spawn a thread to assign out the regions per server so we are assigning in parallel.  This works but is still slow enough (It looks to be slower than the old assignment where we'd do lumps of N regions at a time).  We should be able to pass a regionserver all the regions to open in one RPC.  We need to figure how to keep up zk state while regionserver is processing a big lot of regions.  This looks a little awkward to do since currently open handler just opens region -- there is no notion of doing a ping while waiting to run.
> Being able to start the cluster fast is important for those times we take it down to do major upgrade; the longer it takes to spin up, the longer our 'downtime'.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.