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

Jonathan Hsieh commented on HBASE-7848:
---------------------------------------

Then I'm concerned that all the other handlers may have the same problem.

Other operations (ZK nodes in splitting for example) have had a history of 
assuming exn means failure (when it could mean success but temporary network 
partition).   Looking at 
https://github.com/apache/hbase/blob/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/TableLockManager.java#L223
 it seem that when interruptions and timeouts exceptions are thrown, the lock 
could be taken but reported as an exception.

Can you give me a pointer to some tests that exercies the timeout and/or 
interrupt path?  

A quick solution may be to use the is a slight modification of the canonical 
java lock pattern -- put the acquire inside the try block, and make sure the 
release is called and is able to differentiate between the different lock 
acquire failure modes or can release when acquire returned in the questionable 
state)
                
> Use ZK-based read/write lock to make flush-type snapshot robust against table 
> enable/disable/alter
> --------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-7848
>                 URL: https://issues.apache.org/jira/browse/HBASE-7848
>             Project: HBase
>          Issue Type: Improvement
>          Components: snapshots
>    Affects Versions: 0.96.0
>            Reporter: Ted Yu
>            Assignee: Ted Yu
>         Attachments: 7848-v1.txt, 7848-v2.txt, hbase-7848_v2.patch
>
>
> Current region split following flush would fail snapshot.
> We can utilize ZK-based read/write lock to make flush-type snapshot robust

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to