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