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-6016) ServerShutdownHandler#processDeadRegion could return false for disabling table regions
Date Wed, 16 May 2012 10:33:03 GMT

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

rajeshbabu commented on HBASE-6016:
-----------------------------------

@chunhui
returning false in in case of table in disabling state 
{code}
public static boolean processDeadRegion(HRegionInfo hri, Result result,
      AssignmentManager assignmentManager, CatalogTracker catalogTracker)
{code}

will effect process dead servers during master start up.

-> lets suppose table disabling is happening ,disable table handler set state to disabling
and unassign regions.
-> in the middle master restarted then with this change
{code}
          // Process with existing RS shutdown code
          boolean assign = ServerShutdownHandler.processDeadRegion(
              regionInfo, result, this, this.catalogTracker);
{code}

return false and then assign become false.

Now we cannot set offline in znode it will be in M_ZK_REGION_CLOSING state only.
{code}
          if (assign) {
            ZKAssign.createOrForceNodeOffline(watcher, regionInfo,
                master.getServerName());
            if (!nodes.contains(regionInfo.getEncodedName())) {
              nodes.add(regionInfo.getEncodedName());
            }
          }
{code}

We need to wait until timeout monitor to trigger(30 min) unassign.

But if set to offline
{code}
          if (assign) {
            ZKAssign.createOrForceNodeOffline(watcher, regionInfo,
                master.getServerName());
            if (!nodes.contains(regionInfo.getEncodedName())) {
              nodes.add(regionInfo.getEncodedName());
            }
          }

{code} 

During processRegionInTransition we will call assign and there we remove rit and znode if
table is in disabling or disabled state.

Better not handle this case. Please correct me if wrong.
                
> ServerShutdownHandler#processDeadRegion could return false for disabling table regions
> --------------------------------------------------------------------------------------
>
>                 Key: HBASE-6016
>                 URL: https://issues.apache.org/jira/browse/HBASE-6016
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: chunhui shen
>            Assignee: chunhui shen
>         Attachments: HBASE-6016.patch
>
>
> {code}
>    * @return Returns true if specified region should be assigned, false if not.
>    * @throws IOException
>    */
>   public static boolean processDeadRegion(HRegionInfo hri, Result result,
>       AssignmentManager assignmentManager, CatalogTracker catalogTracker)
> {code}
> For the disabling region, I think we needn't assign it , and processDeadRegion could
return false.

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

        

Mime
View raw message