You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Andrew Purtell (JIRA)" <ji...@apache.org> on 2008/10/01 00:39:44 UTC

[jira] Issue Comment Edited: (HBASE-902) Add force major compaction and force split to UI

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

apurtell edited comment on HBASE-902 at 9/30/08 3:39 PM:
---------------------------------------------------------------

I've got something preliminary mostly worked out.

admin.modifyTable as described is ioctl-like (which I personally like, for this type of swiss army knife type interface) and so in the client API uses Java varargs and at the HRPC level uses Writable[] to box them up and ship them to the master.
For example:

{code}
// replace HTD
admin.modifyTable(tableName, SET_META, htd);

// split all regions of the table
admin.modifyTable(tableName, SPLIT);

// split one region of the table only, closest to the given key
admin.modifyTable(tableName, SPLIT, rowKey);
{code}

Objections?

Also, in order to communicate administrative actions from master to regionservers, the master will keep a list of pending actions in RegionManager. I'll need to add new HMsg ops for forcing splits etc. that the master will send back to the appropriate region servers when they check in.

      was (Author: apurtell):
    I've got something preliminary mostly worked out.

admin.modifyTable as described is ioctl-like (which I personally like, for this type of swiss army knife type interface) and so in the client API uses Java varargs and at the HRPC level uses Writable[] to box them up and ship them to the master.
For example:

{code}
// replace HTD
admin.modifyTable(tableName, SET_META, htd);

// split all regions of the table
admin.modifyTable(tableName, SPLIT);

// split one region of the table only, closest to the given key
admin.modifyTable(tableName, SPLIT, rowKey);
{code}

Objections?

Also, in order to communicate administrative actions from master to regionservers, the master will keep a list of pending actions in ServerManager. I'll need to add new HMsg ops for forcing splits etc. that the master will send back to the appropriate region servers when they check in.
  
> Add force major compaction and force split to UI
> ------------------------------------------------
>
>                 Key: HBASE-902
>                 URL: https://issues.apache.org/jira/browse/HBASE-902
>             Project: Hadoop HBase
>          Issue Type: Improvement
>            Reporter: stack
>            Assignee: Andrew Purtell
>
> Would help debugging or at start of big upload or if we have a hot region we want to distribute over the cluster if we could just manually force the splitting of regions.
> I thought it would be just a little messing in jsp but its a bit more than that.
> Actual decision to split is made down in guts of the Store.  Won't split if any references still around and a file must be > maxsize.
> Chatting w/ Jon Gray, could set a flag on the region that we want to split.  Could do this from UI (Can get to HRegion instance from HRS instance in HRS jsp).  Stores have references to their hosting regions (I think).  When figuring if we're to split, check the force split flag up in the hosting region.
> To get the flag checked, safest way is to just force a flush (Otherwise, have to mess w/ locks in the compact/splitter thread).  Registering a flush request on a region is easy enough to do.  Its a public method on HRS (or HR).

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