[jira] [Updated] (HBASE-21351) The force update thread may have race with PE worker when the procedure is rolling back

2018-11-02 Thread Duo Zhang (JIRA)


 [ 
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

2018-11-02 Thread Duo Zhang (JIRA)


 [ 
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

2018-11-01 Thread Duo Zhang (JIRA)


 [ 
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

2018-10-30 Thread Duo Zhang (JIRA)


 [ 
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

2018-10-30 Thread Duo Zhang (JIRA)


 [ 
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

2018-10-30 Thread Duo Zhang (JIRA)


 [ 
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

2018-10-24 Thread Duo Zhang (JIRA)


 [ 
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

2018-10-20 Thread Duo Zhang (JIRA)


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