hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kannan Muthukkaruppan (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-2235) Mechanism that would not have -ROOT- and .META. on same server caused failed assign of .META.
Date Fri, 19 Feb 2010 22:00:28 GMT

    [ https://issues.apache.org/jira/browse/HBASE-2235?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12835985#action_12835985

Kannan Muthukkaruppan commented on HBASE-2235:

@stack: You wrote <<<The report of split is not atomic; we are sending 3 separate
puts. We don't have means of making a cross-row transaction out of this operation>>>.

Would keeping all region info for a table as columns under a single row key in .META. be such
a crazy idea? With that you can do atomic mutations to a given table's region info. The cons
would be that entire "rowkey" would be hosted on a single server... but for most tables that'd
probably already be the case unless it has an exorbitant number of regions. 

> Mechanism that would not have -ROOT- and .META. on same server caused failed assign of
> ---------------------------------------------------------------------------------------------
>                 Key: HBASE-2235
>                 URL: https://issues.apache.org/jira/browse/HBASE-2235
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: stack
>             Fix For: 0.20.4, 0.21.0
> Here is the short story:
> Scenario is a cluster of 3 servers.  Server 1. crashed.  It was carrying the .META. 
 We split the logs.  .META. is put on the head of the assignment queue.  Server 2. happens
to be in a state where it wants to report a split.  The master fails the report because there
is no .META. (It fails it ugly with a NPE).  Server 3. checks in and falls into the assignment
code (RegionManager#regionsAwaitingAssignment).  In here we have this bit of code around line
> {code}
>     if (reassigningMetas && isMetaOrRoot && !isSingleServer) {
>       return regionsToAssign; // dont assign anything to this server.
>     }
> {code}
> Because we think this not a single server cluster -- we think there are two 'live' nodes
-- we won't assign meta.

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

View raw message