You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Stephen Yuan Jiang (JIRA)" <ji...@apache.org> on 2016/07/15 14:31:20 UTC

[jira] [Commented] (HBASE-13823) Procedure V2: unnecessaery operaions on AssignmentManager#recoverTableInDisablingState() and recoverTableInEnablingState()

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

Stephen Yuan Jiang commented on HBASE-13823:
--------------------------------------------


AssignmentManager#recoverTableInDisablingState() and recoverTableInEnablingState() are part of AssignmentManager#joinCluster(). 
HMaster#startProcedureExecutor() is part of HMaster#startServiceThreads() 

{code}
private void finishActiveMasterInitialization(MonitoredTask status)
      throws IOException, InterruptedException, KeeperException, CoordinatedStateException {
  ...
  startServiceThreads();
  ...
  this.assignmentManager.joinCluster();
{code}

If the cluster already in 2.0 or the cluster is upgraded from 1.1.x, there is no orphaned Enabling/Disabling table state.
This step is only needed for an unhealthy cluster upgrade from 1.0.x or older version, I think the simplest way is just remove these two functions and add a release note, if customer even has orphaned Enabling/Disabling table state, run hbck to fix it.  [~mbertozzi], how do you think?

> Procedure V2: unnecessaery operaions on AssignmentManager#recoverTableInDisablingState() and recoverTableInEnablingState()
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-13823
>                 URL: https://issues.apache.org/jira/browse/HBASE-13823
>             Project: HBase
>          Issue Type: Sub-task
>          Components: master, proc-v2
>    Affects Versions: 2.0.0, 1.2.0
>            Reporter: Stephen Yuan Jiang
>            Assignee: Matteo Bertozzi
>         Attachments: HBASE-13823-v0.patch, HBASE-13823-v1.patch, HBASE-13823-v2.patch, HBASE-13823-v3.patch, HBASE-13823-v4.patch
>
>
> AssignmentManager#recoverTableInDisablingState() and AssignmentManager#recoverTableInEnablingState try to complete unfinished enable/disable table operations.  In the past, it is necessary, as master failure could leave table in bad state.  With HBASE-13211, enable/disable operations would be auto-recover by Procedure-V2 logic.  Those recovery operation is not necessary: we can either remove those recovery operation or not replay enable/disable operations in procedure queue.  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)