hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (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 Sat, 20 Feb 2010 01:20:28 GMT

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

stack commented on HBASE-2235:
------------------------------

@ Kannan  For sure, lets do something in 0.20.  I think metascanner when it runs can check
an offlined region.  If its not followed by two daughters -- it has the necessary info as
columns splitA and splitB -- it can add them.  Let me take a closer look.  Will report back
(Am on something else this afternoon).

Having all in the one row is a bit radical.  Gets and puts would each take out a row lock.
 I think this might slow down all .META. lookups.  We also have a mechanism for getting the
row closest to the asked for one.  Its used for figuring out which region a row sits in. 
This would have to be recast if all was in the one row.

> 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.


Mime
View raw message