[
https://issues.apache.org/jira/browse/HBASE-3432?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13418790#comment-13418790
]
Jonathan Hsieh commented on HBASE-3432:
---------------------------------------
[~vamshi] root and meta are special regions but regions nonetheless. They get
assigned to arbitrary (possibly different) region servers, and are hit on every
new client's read and write path.
[~juneng603] /hbase/uassigned is where Regions-in-transitions informatin is
kept. These are modified as regions are being assigned to particular region
servers. They coordinate the state between the master assigning and then RS
assignee.
> [hbck] Add "remove table" switch
> --------------------------------
>
> Key: HBASE-3432
> URL: https://issues.apache.org/jira/browse/HBASE-3432
> Project: HBase
> Issue Type: New Feature
> Components: util
> Affects Versions: 0.89.20100924
> Reporter: Lars George
> Priority: Minor
>
> This happened before and I am not sure how the new Master improves on it
> (this stuff is only available between the lines are buried in some peoples
> heads - one other thing I wish was for a better place to communicate what
> each path improves). Just so we do not miss it, there is an issue that
> sometimes disabling large tables simply times out and the table gets stuck in
> limbo.
> From the CDH User list:
> {quote}
> On Fri, Jan 7, 2011 at 1:57 PM, Sean Sechrist <[email protected]> wrote:
> To get them out of META, you can just scan '.META.' for that table name, and
> delete those rows. We had to do that a few months ago.
> -Sean
> That did it. For the benefit of others, here's code. Beware the literal
> table names, run at your own peril.
> {quote}
> {code}
> import java.io.IOException;
> import org.apache.hadoop.conf.Configuration;
> import org.apache.hadoop.hbase.HBaseConfiguration;
> import org.apache.hadoop.hbase.client.HTable;
> import org.apache.hadoop.hbase.client.Delete;
> import org.apache.hadoop.hbase.client.Result;
> import org.apache.hadoop.hbase.client.MetaScanner;
> import org.apache.hadoop.hbase.util.Bytes;
> public class CleanFromMeta {
> public static class Cleaner implements MetaScanner.MetaScannerVisitor {
> public HTable meta = null;
> public Cleaner(Configuration conf) throws IOException {
> meta = new HTable(conf, ".META.");
> }
> public boolean processRow(Result rowResult) throws IOException {
> String r = new String(rowResult.getRow());
> if (r.startsWith("webtable,")) {
> meta.delete(new Delete(rowResult.getRow()));
> System.out.println("Deleting row " + rowResult);
> }
> return true;
> }
> }
> public static void main(String[] args) throws Exception {
> String tname = ".META.";
> Configuration conf = HBaseConfiguration.create();
> MetaScanner.metaScan(conf, new Cleaner(conf),
> Bytes.toBytes("webtable"));
> }
> }
> {code}
> I suggest to move this into HBaseFsck. I do not like personally to have these
> JRuby scripts floating around that may or may not help. This should be
> available if a user gets stuck and knows what he is doing (they can delete
> from .META. anyways). Maybe a "\-\-disable-table <tablename> \-\-force" or
> so? But since disable is already in the shell we could add an "\-\-force"
> there? Or add a "\-\-delete-table <tablename>" to the hbck?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira