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

Matteo Bertozzi edited comment on HBASE-14017 at 7/3/15 2:25 AM:
-----------------------------------------------------------------

it does not make any difference, we are under synchronized. we check for 
isLocked() so that tryLock will always lock successfully, not the best looking 
thing ever but correct anyway [~stack] 
the difference between what we have and your proposal is that we don't have to 
do the extra release lock in case of zk-lock failure


was (Author: mbertozzi):
it does not make any difference, we are under synchronized. we check for 
isLocked() so that tryLock will always lock successfully, not the best looking 
thing ever but correct anyway [~stack] 

> Procedure v2 - MasterProcedureQueue fix concurrency issue on table queue 
> deletion
> ---------------------------------------------------------------------------------
>
>                 Key: HBASE-14017
>                 URL: https://issues.apache.org/jira/browse/HBASE-14017
>             Project: HBase
>          Issue Type: Sub-task
>          Components: proc-v2
>    Affects Versions: 2.0.0, 1.2.0, 1.1.0.1
>            Reporter: Matteo Bertozzi
>            Assignee: Matteo Bertozzi
>            Priority: Blocker
>             Fix For: 2.0.0, 1.2.0, 1.1.2
>
>         Attachments: HBASE-14017-v0.patch
>
>
> [~syuanjiang] found a concurrecy issue in the procedure queue delete where we 
> don't have an exclusive lock before deleting the table
> {noformat}
> Thread 1: Create table is running - tryWrite() acquire the lock, before set 
> wlock=true;
> Thread 2: markTableAsDeleted see the queue empty and wlock= false
> Thread 1: set wlock=true; too late
> Thread 2: delete the queue
> Thread 1: never able to release the lock
> {noformat}



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

Reply via email to