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

Reply via email to