hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "rajeshbabu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-6391) Master restart when enabling table will lead to region assignned twice
Date Fri, 13 Jul 2012 08:44:35 GMT

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

rajeshbabu commented on HBASE-6391:

I feel this is same as HBASE-6317 and we are trying to address the concerns in that.
To answer your questions
bq.may anyone tell me why not to add region in enabling state to regions in master
Consider a case where i had disabled a table.  Again try to ENABLE.  But in the middle the
master restarted.  Now if we add the regions to the this.regions map then the EnableTableHandler
will see if the regions are available in this.regions and wont call assign.  So those regions
will remain closed in the RS.
bq.in my opinion, we could treat the case as failover rather than clean start.
In HBASE-6317 we are making it as a failover only.
  // store all the enabling state table names and corresponding online servers' regions.
  // This may be needed to avoid calling assign twice for the regions of the ENABLING table
  // that could have been assigned through processRIT.
  Map<String, List<HRegionInfo>> enablingTables = new HashMap<String, List<HRegionInfo>>(1);
In the patch available in HBASE-6317 we are trying to avoid double assignment by making a
map of the enabling table regions so that if those regions are already assigned by processRIT
we wont assign it now.
Also even if roundrobinassignemt is set to true on master restart and if we find some partially
enabled tables we go with single assignment.  Please review the patch over in HBASE-6317 and
let us know if you have some more open points.

> Master restart when enabling table will lead to region assignned twice
> ----------------------------------------------------------------------
>                 Key: HBASE-6391
>                 URL: https://issues.apache.org/jira/browse/HBASE-6391
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>    Affects Versions: 0.94.0
>            Reporter: zhou wenjian
>             Fix For: 0.94.1
> The Scenario can be reproduce below.
> Enabling an table, some region is online on regionserver,some are still being processed.
> And restart the master.
> when master failover:
>         // Region is being served and on an active server
>         // add only if region not in disabled and enabling table
>         if (false == checkIfRegionBelongsToDisabled(regionInfo)
>             && false == checkIfRegionsBelongsToEnabling(regionInfo)) {
>           regions.put(regionInfo, regionLocation);
>           addToServers(regionLocation, regionInfo);
>         }
> the opened region will not add to the Regions in master.
> and in the following recoverTableInEnablingState,the region will be assigned again.
> that will lead to the cluster inconsistent

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


View raw message