[jira] [Updated] (HBASE-21351) The force update thread may have race with PE worker when the procedure is rolling back
[ https://issues.apache.org/jira/browse/HBASE-21351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Duo Zhang updated HBASE-21351: -- Resolution: Fixed Hadoop Flags: Reviewed Status: Resolved (was: Patch Available) Pushed to branch-2.0+. Thanks [~stack] for reviewing. > The force update thread may have race with PE worker when the procedure is > rolling back > --- > > Key: HBASE-21351 > URL: https://issues.apache.org/jira/browse/HBASE-21351 > Project: HBase > Issue Type: Sub-task > Components: proc-v2 >Reporter: Duo Zhang >Assignee: Duo Zhang >Priority: Critical > Fix For: 3.0.0, 2.2.0, 2.0.3, 2.1.2 > > Attachments: HBASE-21351-v1.patch, HBASE-21351-v1.patch, > HBASE-21351-v2.patch, HBASE-21351.patch > > > We will acquire the procExecutionLock for a procedure when force updating its > state to prevent race with PE worker, but this does not work then the > procedure is rolling back. > If a procedure is failed, we will mark the root procedure stack as FAILED, > and then start to rollback the whole procedure stack. We will pop every > procedure in the stack and try to rollback them. So we may change the state > of a procedure without holding its procExecutionLock when rolling back. > This means we may persist an intermediate state of a procedure and cause > corruption when loading procedures. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (HBASE-21351) The force update thread may have race with PE worker when the procedure is rolling back
[ https://issues.apache.org/jira/browse/HBASE-21351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Duo Zhang updated HBASE-21351: -- Attachment: HBASE-21351-v2.patch > The force update thread may have race with PE worker when the procedure is > rolling back > --- > > Key: HBASE-21351 > URL: https://issues.apache.org/jira/browse/HBASE-21351 > Project: HBase > Issue Type: Sub-task > Components: proc-v2 >Reporter: Duo Zhang >Assignee: Duo Zhang >Priority: Critical > Fix For: 3.0.0, 2.2.0, 2.0.3, 2.1.2 > > Attachments: HBASE-21351-v1.patch, HBASE-21351-v1.patch, > HBASE-21351-v2.patch, HBASE-21351.patch > > > We will acquire the procExecutionLock for a procedure when force updating its > state to prevent race with PE worker, but this does not work then the > procedure is rolling back. > If a procedure is failed, we will mark the root procedure stack as FAILED, > and then start to rollback the whole procedure stack. We will pop every > procedure in the stack and try to rollback them. So we may change the state > of a procedure without holding its procExecutionLock when rolling back. > This means we may persist an intermediate state of a procedure and cause > corruption when loading procedures. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (HBASE-21351) The force update thread may have race with PE worker when the procedure is rolling back
[ https://issues.apache.org/jira/browse/HBASE-21351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Duo Zhang updated HBASE-21351: -- Attachment: HBASE-21351-v1.patch > The force update thread may have race with PE worker when the procedure is > rolling back > --- > > Key: HBASE-21351 > URL: https://issues.apache.org/jira/browse/HBASE-21351 > Project: HBase > Issue Type: Sub-task > Components: proc-v2 >Reporter: Duo Zhang >Assignee: Duo Zhang >Priority: Critical > Fix For: 3.0.0, 2.2.0, 2.0.3, 2.1.2 > > Attachments: HBASE-21351-v1.patch, HBASE-21351-v1.patch, > HBASE-21351.patch > > > We will acquire the procExecutionLock for a procedure when force updating its > state to prevent race with PE worker, but this does not work then the > procedure is rolling back. > If a procedure is failed, we will mark the root procedure stack as FAILED, > and then start to rollback the whole procedure stack. We will pop every > procedure in the stack and try to rollback them. So we may change the state > of a procedure without holding its procExecutionLock when rolling back. > This means we may persist an intermediate state of a procedure and cause > corruption when loading procedures. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (HBASE-21351) The force update thread may have race with PE worker when the procedure is rolling back
[ https://issues.apache.org/jira/browse/HBASE-21351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Duo Zhang updated HBASE-21351: -- Attachment: HBASE-21351-v1.patch > The force update thread may have race with PE worker when the procedure is > rolling back > --- > > Key: HBASE-21351 > URL: https://issues.apache.org/jira/browse/HBASE-21351 > Project: HBase > Issue Type: Sub-task > Components: proc-v2 >Reporter: Duo Zhang >Assignee: Duo Zhang >Priority: Critical > Fix For: 3.0.0, 2.2.0, 2.0.3, 2.1.2 > > Attachments: HBASE-21351-v1.patch, HBASE-21351.patch > > > We will acquire the procExecutionLock for a procedure when force updating its > state to prevent race with PE worker, but this does not work then the > procedure is rolling back. > If a procedure is failed, we will mark the root procedure stack as FAILED, > and then start to rollback the whole procedure stack. We will pop every > procedure in the stack and try to rollback them. So we may change the state > of a procedure without holding its procExecutionLock when rolling back. > This means we may persist an intermediate state of a procedure and cause > corruption when loading procedures. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (HBASE-21351) The force update thread may have race with PE worker when the procedure is rolling back
[ https://issues.apache.org/jira/browse/HBASE-21351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Duo Zhang updated HBASE-21351: -- Assignee: Duo Zhang Fix Version/s: 2.1.2 2.0.3 Status: Patch Available (was: Open) > The force update thread may have race with PE worker when the procedure is > rolling back > --- > > Key: HBASE-21351 > URL: https://issues.apache.org/jira/browse/HBASE-21351 > Project: HBase > Issue Type: Sub-task > Components: proc-v2 >Reporter: Duo Zhang >Assignee: Duo Zhang >Priority: Critical > Fix For: 3.0.0, 2.2.0, 2.0.3, 2.1.2 > > Attachments: HBASE-21351.patch > > > We will acquire the procExecutionLock for a procedure when force updating its > state to prevent race with PE worker, but this does not work then the > procedure is rolling back. > If a procedure is failed, we will mark the root procedure stack as FAILED, > and then start to rollback the whole procedure stack. We will pop every > procedure in the stack and try to rollback them. So we may change the state > of a procedure without holding its procExecutionLock when rolling back. > This means we may persist an intermediate state of a procedure and cause > corruption when loading procedures. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (HBASE-21351) The force update thread may have race with PE worker when the procedure is rolling back
[ https://issues.apache.org/jira/browse/HBASE-21351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Duo Zhang updated HBASE-21351: -- Attachment: HBASE-21351.patch > The force update thread may have race with PE worker when the procedure is > rolling back > --- > > Key: HBASE-21351 > URL: https://issues.apache.org/jira/browse/HBASE-21351 > Project: HBase > Issue Type: Sub-task > Components: proc-v2 >Reporter: Duo Zhang >Priority: Critical > Fix For: 3.0.0, 2.2.0 > > Attachments: HBASE-21351.patch > > > We will acquire the procExecutionLock for a procedure when force updating its > state to prevent race with PE worker, but this does not work then the > procedure is rolling back. > If a procedure is failed, we will mark the root procedure stack as FAILED, > and then start to rollback the whole procedure stack. We will pop every > procedure in the stack and try to rollback them. So we may change the state > of a procedure without holding its procExecutionLock when rolling back. > This means we may persist an intermediate state of a procedure and cause > corruption when loading procedures. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (HBASE-21351) The force update thread may have race with PE worker when the procedure is rolling back
[ https://issues.apache.org/jira/browse/HBASE-21351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Duo Zhang updated HBASE-21351: -- Fix Version/s: (was: 2.0.3) (was: 2.1.1) > The force update thread may have race with PE worker when the procedure is > rolling back > --- > > Key: HBASE-21351 > URL: https://issues.apache.org/jira/browse/HBASE-21351 > Project: HBase > Issue Type: Sub-task > Components: proc-v2 >Reporter: Duo Zhang >Priority: Critical > Fix For: 3.0.0, 2.2.0 > > > We will acquire the procExecutionLock for a procedure when force updating its > state to prevent race with PE worker, but this does not work then the > procedure is rolling back. > If a procedure is failed, we will mark the root procedure stack as FAILED, > and then start to rollback the whole procedure stack. We will pop every > procedure in the stack and try to rollback them. So we may change the state > of a procedure without holding its procExecutionLock when rolling back. > This means we may persist an intermediate state of a procedure and cause > corruption when loading procedures. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (HBASE-21351) The force update thread may have race with PE worker when the procedure is rolling back
[ https://issues.apache.org/jira/browse/HBASE-21351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Duo Zhang updated HBASE-21351: -- Priority: Critical (was: Major) > The force update thread may have race with PE worker when the procedure is > rolling back > --- > > Key: HBASE-21351 > URL: https://issues.apache.org/jira/browse/HBASE-21351 > Project: HBase > Issue Type: Sub-task > Components: proc-v2 >Reporter: Duo Zhang >Priority: Critical > Fix For: 3.0.0, 2.2.0, 2.1.1, 2.0.3 > > > We will acquire the procExecutionLock for a procedure when force updating its > state to prevent race with PE worker, but this does not work then the > procedure is rolling back. > If a procedure is failed, we will mark the root procedure stack as FAILED, > and then start to rollback the whole procedure stack. We will pop every > procedure in the stack and try to rollback them. So we may change the state > of a procedure without holding its procExecutionLock when rolling back. > This means we may persist an intermediate state of a procedure and cause > corruption when loading procedures. -- This message was sent by Atlassian JIRA (v7.6.3#76005)