keith-turner commented on a change in pull request #2169:
URL: https://github.com/apache/accumulo/pull/2169#discussion_r655722917



##########
File path: 
server/manager/src/main/java/org/apache/accumulo/manager/tableOps/delete/DeleteTable.java
##########
@@ -41,6 +42,19 @@ public DeleteTable(NamespaceId namespaceId, TableId tableId) 
{
 
   @Override
   public long isReady(long tid, Manager env) throws Exception {
+
+    // Before attempting to delete the table, cancel any running user
+    // compactions.
+    if (Utils.reserveNamespace(env, namespaceId, tid, false, true, 
TableOperation.COMPACT_CANCEL)

Review comment:
       @dlmarion did you look into the behavior for the following situation :
   
    1. gets read lock
    2. cancels
    3. release read lock
    4. get write lock
    5. manager process dies
    6. manager process starts up again
    7. isReady is called again and it attempts to get the read lock again
   
   When step 7 runs and tries to get the read lock, the FATE tx will already be 
holding the write lock because of the failure. What will happen in this case?




-- 
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.

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


Reply via email to