[
https://issues.apache.org/jira/browse/HBASE-29386?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Duo Zhang resolved HBASE-29386.
-------------------------------
Fix Version/s: 2.7.0
3.0.0-beta-2
2.6.3
Hadoop Flags: Reviewed
Resolution: Fixed
Pushed to branch-2.6+.
Thanks [~hgromer] for contributing!
> SnapshotProcedure and EnableTableProcedure can cause a deadlock
> ---------------------------------------------------------------
>
> Key: HBASE-29386
> URL: https://issues.apache.org/jira/browse/HBASE-29386
> Project: HBase
> Issue Type: Bug
> Components: snapshots
> Reporter: Hernan Gelaf-Romer
> Assignee: Hernan Gelaf-Romer
> Priority: Major
> Labels: pull-request-available
> Fix For: 2.7.0, 3.0.0-beta-2, 2.6.3
>
>
> 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)