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

stack commented on HBASE-21262:
-------------------------------

Lock picker would be useful for cases like this.

The list locks says there is a lock:

{code}
TABLE(IntegrationTestBigLinkedList_20180803113809)
Lock type: SHARED, count: 1

REGION(5ad3301b300e8e95fbc364ff05bbcbb2)
Lock type: EXCLUSIVE, procedure: 
{"className"=>"org.apache.hadoop.hbase.master.assignment.AssignProcedure", 
"parentId"=>"252406", "procId"=>"259414", "submittedTime"=>"1538543021322", 
"owner"=>"hbase", "state"=>"SUCCESS", "stackId"=>[78557, 78633], 
"lastUpdate"=>"1538544091939", 
"stateMessage"=>[{"transitionState"=>"REGION_TRANSITION_FINISH", 
"regionInfo"=>{"regionId"=>"1533324320765", 
"tableName"=>{"namespace"=>"ZGVmYXVsdA==", 
"qualifier"=>"SW50ZWdyYXRpb25UZXN0QmlnTGlua2VkTGlzdF8yMDE4MDgwMzExMzgwOQ=="}, 
"startKey"=>"NgemLyDwwWU=", "endKey"=>"NgmfhZ0N3yA=", "offline"=>false, 
"split"=>false, "replicaId"=>0}}], "locked"=>true}
{code}

... but if I try to bypass the lock owner, I get this:

{code}
2018-10-02 22:22:01,486 DEBUG 
org.apache.hadoop.hbase.procedure2.ProcedureExecutor: Procedure pid=259414 does 
not exist, skipping bypass
{code}

The Procedure somehow has rolled away. Meantime the lock is held.

> [hbck2] AMv2 Lock Picker
> ------------------------
>
>                 Key: HBASE-21262
>                 URL: https://issues.apache.org/jira/browse/HBASE-21262
>             Project: HBase
>          Issue Type: Sub-task
>          Components: hbck2, Operability
>            Reporter: stack
>            Assignee: stack
>            Priority: Major
>             Fix For: 3.0.0, 2.2.0, 2.1.1, 2.0.3
>
>
> This issue is about adding a lock picker to the HbckService
> Over the w/e I had interesting case where an enable failed -- a subprocedure 
> ran into an exclusive lock (I think) -- and then the parent enabletabled 
> tried rollback. The rollback threw CODE-BUG because some subprocedures were 
> in unrollbackable states.... so we ended up skipping out of the enable table 
> procedure. The enable table procedure was marked ROLLBACKED... so it got 
> GC'd. But the exclusive lock it had on the table stayed in place.
> The above has to be fixed but for the future, we need way to kill locks 
> otherwise only alternative if removing master proc wal files -- which is a 
> bigger pain restoring good state.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to