keith-turner opened a new issue, #3759:
URL: https://github.com/apache/accumulo/issues/3759

   When closing a tablet two different locks are acquired in the following order
   
    1. 
[Tablet.completeClose](https://github.com/apache/accumulo/blob/e4127a5014fb46448aad477d7f76e7eef9b6b587/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java#L982)
 acquires the tablet lock 
    2. During complete close a minor compaction is started which acquires the 
lock lock 
[here](https://github.com/apache/accumulo/blob/e4127a5014fb46448aad477d7f76e7eef9b6b587/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java#L1944).
    3. Then the tablet lock is acquired [here 
again](https://github.com/apache/accumulo/blob/e4127a5014fb46448aad477d7f76e7eef9b6b587/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java#L1947).
   
   
   Tablet close acquire the tablet lock and then the log lock.  Other 
operations like a write to the tablet acquire the locks in reverse order (log 
lock 1st and tablet lock 2nd)which has the potential to lead to dead lock.  
However it may be that state set during closing the tablet prevents these 
operation from running, so deadlock can not happen.  This needs further 
investigation.
   
   This issue was uncovered by changes #3747 which caused test to break as 
reported in #3757.  
     


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to