Hernan Gelaf-Romer created HBASE-29386:
------------------------------------------
Summary: SnapshotProcedure and EnableTableProcedure can cause a
deadlock
Key: HBASE-29386
URL: https://issues.apache.org/jira/browse/HBASE-29386
Project: HBase
Issue Type: Bug
Reporter: Hernan Gelaf-Romer
Assignee: Hernan Gelaf-Romer
At my job, we've discovered that enable table procedures can be executed at the
same time as a snapshot procedure and can cause a deadlock which prevents both
procedures from finishing.
The enable table procedure will be kicked off first, and will run and kick off
children subprocedures which will enable the region. At this point, the parent
process releases it's lock, and the snapshot procedure starts to execute. The
snapshot procedure gets to the state SNAPSHOT_WRITE_SNAPSHOT_INFO, and then
continues to repeat this step as it waits for the table to be enabled.
The table enable procedure will never re-acquire the lock and run, which means
both procedures are stuck indefinitely. A solution here is to allow the
snapshot procedure to be suspended in the case that the table is neither
disabled or enabled, which will allow other table related procedures to run
--
This message was sent by Atlassian Jira
(v8.20.10#820010)