[ 
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 .META.
> ---------------------------------------------------------------------------------------------
>
>                 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 #412:
> {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.

Reply via email to