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)