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

Duo Zhang commented on HBASE-21480:
-----------------------------------

Changed the title, let's focus on the most critical problem first. The UT will 
hang there, because we hold the exclusive lock for the table all the time when 
taking a snapshot, and it prevents the SCP to bring the regions online, which 
causes a dead lock.

I think we can first acquire the exclusive lock, to let the previous 
merge/split procedures to finish, and then change to acquire a shared lock, to 
prevent other operations on the table, such as ModifyTableProcedure or 
DisableTableProcedure. And for merge/split procedures, we first check if there 
is a snapshot operation on going, if so, we give up and rollback.

> Taking snapshot when RS crashes may hang
> ----------------------------------------
>
>                 Key: HBASE-21480
>                 URL: https://issues.apache.org/jira/browse/HBASE-21480
>             Project: HBase
>          Issue Type: Improvement
>          Components: snapshots
>            Reporter: Duo Zhang
>            Priority: Major
>             Fix For: 3.0.0, 2.2.0
>
>         Attachments: HBASE-21480-UT.patch
>
>
> The current implementation is not good enough. It will take the exclusive 
> lock all the time which could hurt the availability, as we need to hold the 
> shared lock when assigning regions.



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

Reply via email to