This is an automated email from the ASF dual-hosted git repository.

dlmarion pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git


The following commit(s) were added to refs/heads/main by this push:
     new d7d1199c7c Reset Thread interrupted state after catching 
InterruptedException (#6452)
d7d1199c7c is described below

commit d7d1199c7c1b216ac90ea100a6eb87a2ea7e4935
Author: Dave Marion <[email protected]>
AuthorDate: Wed Jul 1 07:25:47 2026 -0400

    Reset Thread interrupted state after catching InterruptedException (#6452)
    
    This is a follow-on change to #6438 that modifies the main branch
    using the same maven plugin that was applied to the 2.1 branch.
---
 .../clientImpl/ResourceGroupOperationsImpl.java    |  1 +
 .../accumulo/core/clientImpl/ScannerIterator.java  |  3 +++
 .../core/clientImpl/TableOperationsImpl.java       |  2 ++
 .../java/org/apache/accumulo/core/fate/Fate.java   |  1 +
 .../apache/accumulo/core/fate/FateExecutor.java    |  1 +
 .../accumulo/core/fate/zookeeper/FateLock.java     |  9 ++++++++
 .../core/fate/zookeeper/MetaFateStore.java         | 21 +++++++++++++++++
 .../org/apache/accumulo/core/lock/ServiceLock.java |  3 +++
 .../accumulo/core/lock/ServiceLockPaths.java       |  3 +++
 .../core/metadata/schema/RootTabletMetadata.java   |  3 +++
 .../apache/accumulo/core/zookeeper/ZooCache.java   |  9 ++++++++
 .../core/clientImpl/ClientTabletCacheImplTest.java |  1 +
 .../bulk/ConcurrentKeyExtentCacheTest.java         |  2 +-
 .../org/apache/accumulo/core/util/LockMapTest.java |  1 +
 .../hadoopImpl/mapred/AccumuloRecordReader.java    |  1 +
 .../hadoopImpl/mapreduce/AccumuloRecordReader.java |  1 +
 .../MiniAccumuloClusterControl.java                |  9 ++++++++
 .../miniclusterImpl/MiniAccumuloClusterImpl.java   |  9 ++++++++
 .../apache/accumulo/server/init/Initialize.java    |  7 ++++++
 .../accumulo/server/init/ZooKeeperInitializer.java |  6 +++++
 .../accumulo/server/manager/FateLocations.java     |  6 +++++
 .../AsyncConditionalTabletsMutatorImpl.java        |  6 +++++
 .../metadata/ConditionalTabletsMutatorImpl.java    |  1 +
 .../server/util/FindCompactionTmpFiles.java        |  4 ++++
 .../org/apache/accumulo/server/util/ZooZap.java    |  3 +++
 .../accumulo/server/util/adminCommand/Fate.java    |  3 +++
 .../server/util/upgrade/PreUpgradeValidation.java  |  6 +++++
 .../apache/accumulo/manager/BalanceManager.java    |  1 +
 .../java/org/apache/accumulo/manager/Manager.java  | 14 +++++++++++
 .../manager/ManagerClientServiceHandler.java       |  3 +++
 .../accumulo/manager/TabletGroupWatcher.java       |  2 ++
 .../coordinator/CompactionCoordinator.java         |  2 ++
 .../coordinator/commit/CommitCompaction.java       |  1 +
 .../apache/accumulo/manager/fate/FateManager.java  |  5 ++++
 .../apache/accumulo/manager/fate/FateNotifier.java |  1 +
 .../apache/accumulo/manager/fate/FateWorker.java   |  3 +++
 .../accumulo/manager/fate/FateWorkerEnv.java       |  2 ++
 .../tableOps/bulkVer2/CleanUpBulkImport.java       |  1 +
 .../manager/tableOps/bulkVer2/TabletRefresher.java |  4 ++++
 .../manager/tableOps/compact/CompactionDriver.java |  3 +++
 .../accumulo/manager/upgrade/Upgrader11to12.java   | 27 ++++++++++++++++++++++
 .../accumulo/monitor/next/InformationFetcher.java  |  7 ++++++
 .../org/apache/accumulo/tserver/ScanServer.java    |  1 +
 .../accumulo/tserver/TabletClientHandler.java      |  3 +++
 .../accumulo/tserver/log/TabletServerLogger.java   |  2 ++
 .../org/apache/accumulo/tserver/tablet/Tablet.java |  1 +
 .../apache/accumulo/test/ScanConsistencyIT.java    |  2 +-
 .../apache/accumulo/test/WriteAfterCloseIT.java    |  1 +
 .../compaction/ExternalCompactionTestUtils.java    |  1 +
 .../org/apache/accumulo/test/fate/FateITBase.java  |  1 +
 .../org/apache/accumulo/test/fate/TestLock.java    |  3 +++
 .../apache/accumulo/test/fate/meta/MetaFateIT.java |  3 +++
 .../test/functional/FateConcurrencyIT.java         |  3 +++
 .../accumulo/test/manager/SuspendedTabletsIT.java  |  3 +++
 .../accumulo/test/performance/NullTserver.java     |  3 +++
 .../upgrade/ScanServerUpgrade11to12TestIT.java     |  3 +++
 .../org/apache/accumulo/test/util/SlowOps.java     |  2 ++
 57 files changed, 228 insertions(+), 2 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/ResourceGroupOperationsImpl.java
 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/ResourceGroupOperationsImpl.java
index 0693a18000..c339aeafeb 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/ResourceGroupOperationsImpl.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/ResourceGroupOperationsImpl.java
@@ -208,6 +208,7 @@ public class ResourceGroupOperationsImpl implements 
ResourceGroupOperations {
               "Unable to modify resource group properties for because of 
concurrent modification");
           retry.waitForNextAttempt(log, "Modify resource group properties");
         } catch (InterruptedException e) {
+          Thread.currentThread().interrupt();
           throw new RuntimeException(e);
         }
       } finally {
diff --git 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/ScannerIterator.java 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/ScannerIterator.java
index a869f175fc..7c6c94c803 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/ScannerIterator.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/ScannerIterator.java
@@ -189,6 +189,9 @@ public class ScannerIterator implements 
Iterator<Entry<Key,Value>> {
       throw new IllegalStateException(ee);
     } catch (AccumuloException | AccumuloSecurityException | 
TableNotFoundException
         | ScanTimedOutException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException(e);
     }
 
diff --git 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/TableOperationsImpl.java
 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/TableOperationsImpl.java
index a11ac8cb17..edd7aa9845 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/TableOperationsImpl.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/TableOperationsImpl.java
@@ -642,6 +642,7 @@ public class TableOperationsImpl extends 
TableOperationsHelper {
           try {
             retry.waitForNextAttempt(log, "Find tablet in " + tableId + " 
containing " + split);
           } catch (InterruptedException e) {
+            Thread.currentThread().interrupt();
             throw new RuntimeException(e);
           }
           tablet = tabLocator.findTablet(context, split, false, 
LocationNeed.NOT_REQUIRED);
@@ -2007,6 +2008,7 @@ public class TableOperationsImpl extends 
TableOperationsHelper {
               String.format("locating tablets in table %s(%s) for %d ranges", 
tableName, tableId,
                   rangeList.size()));
         } catch (InterruptedException e) {
+          Thread.currentThread().interrupt();
           throw new IllegalStateException(e);
         }
 
diff --git a/core/src/main/java/org/apache/accumulo/core/fate/Fate.java 
b/core/src/main/java/org/apache/accumulo/core/fate/Fate.java
index 8f016db640..77e07076b5 100644
--- a/core/src/main/java/org/apache/accumulo/core/fate/Fate.java
+++ b/core/src/main/java/org/apache/accumulo/core/fate/Fate.java
@@ -426,6 +426,7 @@ public class Fate<T> extends FateClient<T> {
               anyFateExecutorIsAlive(), deadResCleanerIsAlive());
         }
       } catch (InterruptedException e) {
+        Thread.currentThread().interrupt();
         throw new RuntimeException(e);
       }
     }
diff --git a/core/src/main/java/org/apache/accumulo/core/fate/FateExecutor.java 
b/core/src/main/java/org/apache/accumulo/core/fate/FateExecutor.java
index de4bf9c995..54e9e302ec 100644
--- a/core/src/main/java/org/apache/accumulo/core/fate/FateExecutor.java
+++ b/core/src/main/java/org/apache/accumulo/core/fate/FateExecutor.java
@@ -348,6 +348,7 @@ public class FateExecutor<T> {
                     break;
                   }
                 } catch (InterruptedException e) {
+                  Thread.currentThread().interrupt();
                   throw new IllegalStateException(e);
                 }
               }
diff --git 
a/core/src/main/java/org/apache/accumulo/core/fate/zookeeper/FateLock.java 
b/core/src/main/java/org/apache/accumulo/core/fate/zookeeper/FateLock.java
index fcd02f3bd4..3ad927faba 100644
--- a/core/src/main/java/org/apache/accumulo/core/fate/zookeeper/FateLock.java
+++ b/core/src/main/java/org/apache/accumulo/core/fate/zookeeper/FateLock.java
@@ -209,6 +209,9 @@ public class FateLock implements QueueLock {
         }
       }
     } catch (KeeperException | InterruptedException ex) {
+      if (ex instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException(ex);
     }
   }
@@ -233,6 +236,9 @@ public class FateLock implements QueueLock {
         }
       }
     } catch (KeeperException | InterruptedException ex) {
+      if (ex instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException(ex);
     }
     return result;
@@ -252,6 +258,9 @@ public class FateLock implements QueueLock {
         // the path had other lock nodes, no big deal
       }
     } catch (KeeperException | InterruptedException ex) {
+      if (ex instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException(ex);
     }
   }
diff --git 
a/core/src/main/java/org/apache/accumulo/core/fate/zookeeper/MetaFateStore.java 
b/core/src/main/java/org/apache/accumulo/core/fate/zookeeper/MetaFateStore.java
index a7cf3236af..6af880c0ed 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/fate/zookeeper/MetaFateStore.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/fate/zookeeper/MetaFateStore.java
@@ -132,6 +132,9 @@ public class MetaFateStore<T> extends AbstractFateStore<T> {
       } catch (NodeExistsException nee) {
         // exist, so just try another random #
       } catch (KeeperException | InterruptedException e) {
+        if (e instanceof InterruptedException) {
+          Thread.currentThread().interrupt();
+        }
         throw new IllegalStateException(e);
       }
     }
@@ -184,6 +187,9 @@ public class MetaFateStore<T> extends AbstractFateStore<T> {
         return Optional.empty();
       }
     } catch (InterruptedException | KeeperException | 
AcceptableThriftTableOperationException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException(e);
     }
   }
@@ -461,6 +467,9 @@ public class MetaFateStore<T> extends AbstractFateStore<T> {
               "Deletion of ZK node fate data for {} was not able to be 
completed atomically... Retrying",
               fateId);
         } catch (InterruptedException | KeeperException e) {
+          if (e instanceof InterruptedException) {
+            Thread.currentThread().interrupt();
+          }
           throw new IllegalStateException(e);
         }
       }
@@ -562,6 +571,9 @@ public class MetaFateStore<T> extends AbstractFateStore<T> {
       return new FateData<>(TStatus.UNKNOWN, null, null, 
createEmptyRepoDeque(),
           createEmptyTxInfo());
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException(e);
     }
   }
@@ -573,6 +585,9 @@ public class MetaFateStore<T> extends AbstractFateStore<T> {
       return new FateData<>(TStatus.UNKNOWN, null, null, 
createEmptyRepoDeque(),
           createEmptyTxInfo());
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException(e);
     }
   }
@@ -616,6 +631,9 @@ public class MetaFateStore<T> extends AbstractFateStore<T> {
       }
       return stream.filter(s -> statuses.contains(s.getStatus()));
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException(e);
     }
   }
@@ -667,6 +685,9 @@ public class MetaFateStore<T> extends AbstractFateStore<T> {
         }
       });
     } catch (InterruptedException | AcceptableThriftTableOperationException e) 
{
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException(e);
     }
   }
diff --git a/core/src/main/java/org/apache/accumulo/core/lock/ServiceLock.java 
b/core/src/main/java/org/apache/accumulo/core/lock/ServiceLock.java
index fb4219026a..e6b0ba09a8 100644
--- a/core/src/main/java/org/apache/accumulo/core/lock/ServiceLock.java
+++ b/core/src/main/java/org/apache/accumulo/core/lock/ServiceLock.java
@@ -156,6 +156,9 @@ public class ServiceLock implements Watcher {
       watchingBasePath = true;
       this.vmLockPrefix = new Prefix(ZLOCK_PREFIX + uuid.toString() + "#");
     } catch (KeeperException | InterruptedException ex) {
+      if (ex instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       LOG.error("Error setting initial watch", ex);
       throw new IllegalStateException(ex);
     }
diff --git 
a/core/src/main/java/org/apache/accumulo/core/lock/ServiceLockPaths.java 
b/core/src/main/java/org/apache/accumulo/core/lock/ServiceLockPaths.java
index 2bc97fb1f7..d197ef2256 100644
--- a/core/src/main/java/org/apache/accumulo/core/lock/ServiceLockPaths.java
+++ b/core/src/main/java/org/apache/accumulo/core/lock/ServiceLockPaths.java
@@ -497,6 +497,9 @@ public class ServiceLockPaths {
             try {
               future.get();
             } catch (InterruptedException | ExecutionException e) {
+              if (e instanceof InterruptedException) {
+                Thread.currentThread().interrupt();
+              }
               throw new IllegalStateException(e);
             }
           }
diff --git 
a/core/src/main/java/org/apache/accumulo/core/metadata/schema/RootTabletMetadata.java
 
b/core/src/main/java/org/apache/accumulo/core/metadata/schema/RootTabletMetadata.java
index 740bd330c0..b5dfb172b5 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/metadata/schema/RootTabletMetadata.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/metadata/schema/RootTabletMetadata.java
@@ -73,6 +73,9 @@ public class RootTabletMetadata {
       byte[] bytes = zooReader.getData(RootTable.ZROOT_TABLET);
       return new RootTabletMetadata(new String(bytes, UTF_8));
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException(e);
     }
   }
diff --git 
a/core/src/main/java/org/apache/accumulo/core/zookeeper/ZooCache.java 
b/core/src/main/java/org/apache/accumulo/core/zookeeper/ZooCache.java
index bc7e12c854..1d85c358df 100644
--- a/core/src/main/java/org/apache/accumulo/core/zookeeper/ZooCache.java
+++ b/core/src/main/java/org/apache/accumulo/core/zookeeper/ZooCache.java
@@ -254,6 +254,9 @@ public class ZooCache {
           zkClientTracker.get());
       return true;
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new RuntimeException("Error setting up persistent recursive 
watcher", e);
     }
 
@@ -316,6 +319,9 @@ public class ZooCache {
             log.warn("Zookeeper error, will retry", e);
           }
         } catch (InterruptedException | ZcInterruptedException e) {
+          if (e instanceof InterruptedException) {
+            Thread.currentThread().interrupt();
+          }
           log.info("Zookeeper error, will retry", e);
         }
 
@@ -323,6 +329,7 @@ public class ZooCache {
           // do not hold lock while sleeping
           Thread.sleep(sleepTime);
         } catch (InterruptedException e) {
+          Thread.currentThread().interrupt();
           log.debug("Wait in retry() was interrupted.", e);
         }
         if (sleepTime < 10_000) {
@@ -389,6 +396,7 @@ public class ZooCache {
           } catch (KeeperException e) {
             throw new ZcException(e);
           } catch (InterruptedException e) {
+            Thread.currentThread().interrupt();
             throw new ZcInterruptedException(e);
           }
         });
@@ -454,6 +462,7 @@ public class ZooCache {
               log.trace("{} zookeeper did not contain {}", cacheId, zPath);
               return ZcNode.NON_EXISTENT;
             } catch (InterruptedException e) {
+              Thread.currentThread().interrupt();
               throw new ZcInterruptedException(e);
             }
             if (log.isTraceEnabled()) {
diff --git 
a/core/src/test/java/org/apache/accumulo/core/clientImpl/ClientTabletCacheImplTest.java
 
b/core/src/test/java/org/apache/accumulo/core/clientImpl/ClientTabletCacheImplTest.java
index 2f4d89ddad..cf4bd0aa0a 100644
--- 
a/core/src/test/java/org/apache/accumulo/core/clientImpl/ClientTabletCacheImplTest.java
+++ 
b/core/src/test/java/org/apache/accumulo/core/clientImpl/ClientTabletCacheImplTest.java
@@ -1960,6 +1960,7 @@ public class ClientTabletCacheImplTest {
             }
           }
         } catch (InterruptedException e) {
+          Thread.currentThread().interrupt();
           throw new RuntimeException(e);
         } finally {
           activeLookups.decrementAndGet();
diff --git 
a/core/src/test/java/org/apache/accumulo/core/clientImpl/bulk/ConcurrentKeyExtentCacheTest.java
 
b/core/src/test/java/org/apache/accumulo/core/clientImpl/bulk/ConcurrentKeyExtentCacheTest.java
index 5a1ac90c69..d1bcd16652 100644
--- 
a/core/src/test/java/org/apache/accumulo/core/clientImpl/bulk/ConcurrentKeyExtentCacheTest.java
+++ 
b/core/src/test/java/org/apache/accumulo/core/clientImpl/bulk/ConcurrentKeyExtentCacheTest.java
@@ -81,7 +81,7 @@ public class ConcurrentKeyExtentCacheTest {
       try {
         Thread.sleep(3);
       } catch (InterruptedException ex) {
-        // ignore exception
+        Thread.currentThread().interrupt();
       }
       return extents.subList(index, extents.size()).stream().limit(73);
     }
diff --git a/core/src/test/java/org/apache/accumulo/core/util/LockMapTest.java 
b/core/src/test/java/org/apache/accumulo/core/util/LockMapTest.java
index d678285098..769d1dd629 100644
--- a/core/src/test/java/org/apache/accumulo/core/util/LockMapTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/util/LockMapTest.java
@@ -128,6 +128,7 @@ public class LockMapTest {
             // If only one thread executes per key, then set1 and set2 should 
always be true
             return set1 && set2;
           } catch (InterruptedException e) {
+            Thread.currentThread().interrupt();
             throw new IllegalStateException(e);
           }
         });
diff --git 
a/hadoop-mapreduce/src/main/java/org/apache/accumulo/hadoopImpl/mapred/AccumuloRecordReader.java
 
b/hadoop-mapreduce/src/main/java/org/apache/accumulo/hadoopImpl/mapred/AccumuloRecordReader.java
index ab9797879e..3999672708 100644
--- 
a/hadoop-mapreduce/src/main/java/org/apache/accumulo/hadoopImpl/mapred/AccumuloRecordReader.java
+++ 
b/hadoop-mapreduce/src/main/java/org/apache/accumulo/hadoopImpl/mapred/AccumuloRecordReader.java
@@ -387,6 +387,7 @@ public abstract class AccumuloRecordReader<K,V> implements 
RecordReader<K,V> {
                       String.format("locating tablets in table %s(%s) for %d 
ranges", tableName,
                           tableId, ranges.size()));
                 } catch (InterruptedException e) {
+                  Thread.currentThread().interrupt();
                   throw new RuntimeException(e);
                 }
                 unhostedRanges.get("").clear();
diff --git 
a/hadoop-mapreduce/src/main/java/org/apache/accumulo/hadoopImpl/mapreduce/AccumuloRecordReader.java
 
b/hadoop-mapreduce/src/main/java/org/apache/accumulo/hadoopImpl/mapreduce/AccumuloRecordReader.java
index 19c03d808f..27dd9e64f0 100644
--- 
a/hadoop-mapreduce/src/main/java/org/apache/accumulo/hadoopImpl/mapreduce/AccumuloRecordReader.java
+++ 
b/hadoop-mapreduce/src/main/java/org/apache/accumulo/hadoopImpl/mapreduce/AccumuloRecordReader.java
@@ -420,6 +420,7 @@ public abstract class AccumuloRecordReader<K,V> extends 
RecordReader<K,V> {
                       String.format("locating tablets in table %s(%s) for %d 
ranges", tableName,
                           tableId, ranges.size()));
                 } catch (InterruptedException e) {
+                  Thread.currentThread().interrupt();
                   throw new RuntimeException(e);
                 }
                 unhostedRanges.get("").clear();
diff --git 
a/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterControl.java
 
b/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterControl.java
index 55c4bad865..deb8794740 100644
--- 
a/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterControl.java
+++ 
b/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterControl.java
@@ -154,6 +154,9 @@ public class MiniAccumuloClusterControl implements 
ClusterControl {
               ResourceGroupPropKey.of(ResourceGroupId.of(rg))
                   
.createZNode(cluster.getServerContext().getZooSession().asReaderWriter());
             } catch (KeeperException | InterruptedException e1) {
+              if (e1 instanceof InterruptedException) {
+                Thread.currentThread().interrupt();
+              }
               throw new IllegalStateException(
                   "Unable to create resource group configuration node for " + 
rg);
             }
@@ -215,6 +218,9 @@ public class MiniAccumuloClusterControl implements 
ClusterControl {
               ResourceGroupPropKey.of(ResourceGroupId.of(rg))
                   
.createZNode(cluster.getServerContext().getZooSession().asReaderWriter());
             } catch (KeeperException | InterruptedException e1) {
+              if (e1 instanceof InterruptedException) {
+                Thread.currentThread().interrupt();
+              }
               throw new IllegalStateException(
                   "Unable to create resource group configuration node for " + 
rg);
             }
@@ -242,6 +248,9 @@ public class MiniAccumuloClusterControl implements 
ClusterControl {
               ResourceGroupPropKey.of(ResourceGroupId.of(rg))
                   
.createZNode(cluster.getServerContext().getZooSession().asReaderWriter());
             } catch (KeeperException | InterruptedException e1) {
+              if (e1 instanceof InterruptedException) {
+                Thread.currentThread().interrupt();
+              }
               throw new IllegalStateException(
                   "Unable to create resource group configuration node for " + 
rg);
             }
diff --git 
a/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterImpl.java
 
b/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterImpl.java
index cd881eac57..c88be11aa3 100644
--- 
a/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterImpl.java
+++ 
b/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterImpl.java
@@ -726,6 +726,9 @@ public class MiniAccumuloClusterImpl implements 
AccumuloCluster {
         zrw.putPersistentData(miniZDirPath, new byte[0], 
NodeExistsPolicy.SKIP);
         zrw.putPersistentData(miniZInstancePath, new byte[0], 
NodeExistsPolicy.SKIP);
       } catch (KeeperException | InterruptedException e) {
+        if (e instanceof InterruptedException) {
+          Thread.currentThread().interrupt();
+        }
         throw new IllegalStateException("Error creating path in ZooKeeper", e);
       }
       ServiceLockData sld =
@@ -1000,6 +1003,9 @@ public class MiniAccumuloClusterImpl implements 
AccumuloCluster {
       try {
         miniLock.unlock();
       } catch (InterruptedException | KeeperException e) {
+        if (e instanceof InterruptedException) {
+          Thread.currentThread().interrupt();
+        }
         log.error("Error unlocking ServiceLock for MiniAccumuloClusterImpl", 
e);
       }
       miniLock = null;
@@ -1151,6 +1157,9 @@ public class MiniAccumuloClusterImpl implements 
AccumuloCluster {
           try {
             f.get();
           } catch (ExecutionException | InterruptedException e) {
+            if (e instanceof InterruptedException) {
+              Thread.currentThread().interrupt();
+            }
             log.warn("{} did not fully stop after {} seconds", type, 
unit.toSeconds(timeout), e);
           }
           return true;
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java 
b/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java
index 0e3afaaffb..6b8e6ef170 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java
@@ -462,6 +462,9 @@ public class Initialize implements KeywordExecutable {
           ResourceGroupPropKey.of(rgid).createZNode(zrw);
           log.info("Added resource group {}", trimmed);
         } catch (IllegalStateException | KeeperException | 
InterruptedException e) {
+          if (e instanceof InterruptedException) {
+            Thread.currentThread().interrupt();
+          }
           log.error("Error creating resource group: " + trimmed, e);
           return false;
         }
@@ -489,6 +492,9 @@ public class Initialize implements KeywordExecutable {
           ResourceGroupPropKey.of(rgid).removeZNode(zs);
           log.info("Removed resource group {}", trimmed);
         } catch (IllegalStateException | KeeperException | 
InterruptedException e) {
+          if (e instanceof InterruptedException) {
+            Thread.currentThread().interrupt();
+          }
           log.error("Error removing resource group: " + trimmed, e);
           return false;
         }
@@ -625,6 +631,7 @@ public class Initialize implements KeywordExecutable {
       log.error("Problem trying to get Volume configuration", e);
       success = false;
     } catch (InterruptedException e) {
+      Thread.currentThread().interrupt();
       log.error("Thread was interrupted when trying to get Volume 
configuration", e);
       success = false;
     } catch (KeeperException e) {
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/init/ZooKeeperInitializer.java
 
b/server/base/src/main/java/org/apache/accumulo/server/init/ZooKeeperInitializer.java
index 7bb8446d43..14cead9fab 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/init/ZooKeeperInitializer.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/init/ZooKeeperInitializer.java
@@ -221,6 +221,9 @@ public class ZooKeeperInitializer {
           Namespace.ACCUMULO.id(), SystemTables.SCAN_REF.tableName(), 
TableState.ONLINE,
           ZooUtil.NodeExistsPolicy.FAIL);
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new RuntimeException(e);
     }
   }
@@ -231,6 +234,9 @@ public class ZooKeeperInitializer {
           Namespace.ACCUMULO.id(), SystemTables.FATE.tableName(), 
TableState.ONLINE,
           ZooUtil.NodeExistsPolicy.FAIL);
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new RuntimeException(e);
     }
   }
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/manager/FateLocations.java
 
b/server/base/src/main/java/org/apache/accumulo/server/manager/FateLocations.java
index 4a71ff2e08..7319aa894e 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/manager/FateLocations.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/manager/FateLocations.java
@@ -90,6 +90,9 @@ public class FateLocations {
       zoo.putPersistentData(Constants.ZMANAGER_FATE_ASSIGNMENTS, 
serialize(assignments),
           nodeExistsPolicy);
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException("Unable to set fate locations in 
zookeeper", e);
     }
   }
@@ -100,6 +103,9 @@ public class FateLocations {
       context.getZooSession().setData(Constants.ZMANAGER_FATE_ASSIGNMENTS, 
serialize(assignments),
           -1);
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException("Unable to set fate locations in 
zookeeper", e);
     }
   }
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/metadata/AsyncConditionalTabletsMutatorImpl.java
 
b/server/base/src/main/java/org/apache/accumulo/server/metadata/AsyncConditionalTabletsMutatorImpl.java
index 8b76607d70..517e80db36 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/metadata/AsyncConditionalTabletsMutatorImpl.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/metadata/AsyncConditionalTabletsMutatorImpl.java
@@ -62,6 +62,9 @@ public class AsyncConditionalTabletsMutatorImpl implements 
Ample.AsyncConditiona
         try {
           backgroundProcessing.get().values().forEach(resultsConsumer);
         } catch (InterruptedException | ExecutionException e) {
+          if (e instanceof InterruptedException) {
+            Thread.currentThread().interrupt();
+          }
           throw new IllegalStateException(e);
         }
       }
@@ -89,6 +92,9 @@ public class AsyncConditionalTabletsMutatorImpl implements 
Ample.AsyncConditiona
       try {
         backgroundProcessing.get().values().forEach(resultsConsumer);
       } catch (InterruptedException | ExecutionException e) {
+        if (e instanceof InterruptedException) {
+          Thread.currentThread().interrupt();
+        }
         throw new IllegalStateException(e);
       }
     }
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/metadata/ConditionalTabletsMutatorImpl.java
 
b/server/base/src/main/java/org/apache/accumulo/server/metadata/ConditionalTabletsMutatorImpl.java
index 2329126e65..b4435f1fb1 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/metadata/ConditionalTabletsMutatorImpl.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/metadata/ConditionalTabletsMutatorImpl.java
@@ -193,6 +193,7 @@ public class ConditionalTabletsMutatorImpl implements 
Ample.ConditionalTabletsMu
         }
         retry.waitForNextAttempt(log, "handle conditional mutations with 
unknown status");
       } catch (InterruptedException e) {
+        Thread.currentThread().interrupt();
         throw new RuntimeException(e);
       }
 
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/util/FindCompactionTmpFiles.java
 
b/server/base/src/main/java/org/apache/accumulo/server/util/FindCompactionTmpFiles.java
index 7064b12de3..b4ccf99425 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/util/FindCompactionTmpFiles.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/util/FindCompactionTmpFiles.java
@@ -111,6 +111,9 @@ public class FindCompactionTmpFiles extends 
ServerKeywordExecutable<FindOpts> {
           try {
             future.get();
           } catch (InterruptedException | ExecutionException e) {
+            if (e instanceof InterruptedException) {
+              Thread.currentThread().interrupt();
+            }
             throw new RuntimeException("Error getting list of tmp files", e);
           }
         }
@@ -236,6 +239,7 @@ public class FindCompactionTmpFiles extends 
ServerKeywordExecutable<FindOpts> {
       delSvc.awaitTermination(10, TimeUnit.MINUTES);
       return stats;
     } catch (InterruptedException e) {
+      Thread.currentThread().interrupt();
       throw new IllegalStateException(e);
     }
   }
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java 
b/server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
index c592cee277..7f7d65be31 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
@@ -248,6 +248,9 @@ public class ZooZap extends 
ServerKeywordExecutable<ZapOpts> {
     try {
       zapDirectory(zoo, path, ops);
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException(e);
     }
   }
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/util/adminCommand/Fate.java
 
b/server/base/src/main/java/org/apache/accumulo/server/util/adminCommand/Fate.java
index a3caf0f975..f2c785c3b9 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/util/adminCommand/Fate.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/util/adminCommand/Fate.java
@@ -302,6 +302,9 @@ public class Fate extends ServerKeywordExecutable<FateOpts> 
{
       zrw.putPersistentData(parentLockPath, new byte[0], 
ZooUtil.NodeExistsPolicy.SKIP);
       zrw.putPersistentData(lockPath, new byte[0], 
ZooUtil.NodeExistsPolicy.SKIP);
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException("Error creating path in ZooKeeper", e);
     }
 
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/util/upgrade/PreUpgradeValidation.java
 
b/server/base/src/main/java/org/apache/accumulo/server/util/upgrade/PreUpgradeValidation.java
index a5594a6798..c1349786e2 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/util/upgrade/PreUpgradeValidation.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/util/upgrade/PreUpgradeValidation.java
@@ -76,6 +76,9 @@ public class PreUpgradeValidation {
             aclErrorOccurred.set(true);
           }
         } catch (KeeperException | InterruptedException e) {
+          if (e instanceof InterruptedException) {
+            Thread.currentThread().interrupt();
+          }
           log.error("Error getting ACL for path: {}", path, e);
           aclErrorOccurred.set(true);
         }
@@ -87,6 +90,9 @@ public class PreUpgradeValidation {
                 + "for instructions on how to fix.");
       }
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new RuntimeException("Upgrade Failed! Error validating nodes under 
current root node.",
           e);
     }
diff --git 
a/server/manager/src/main/java/org/apache/accumulo/manager/BalanceManager.java 
b/server/manager/src/main/java/org/apache/accumulo/manager/BalanceManager.java
index 5687f36777..9baae8d74d 100644
--- 
a/server/manager/src/main/java/org/apache/accumulo/manager/BalanceManager.java
+++ 
b/server/manager/src/main/java/org/apache/accumulo/manager/BalanceManager.java
@@ -325,6 +325,7 @@ class BalanceManager {
         try {
           balancedNotifier.wait();
         } catch (InterruptedException e) {
+          Thread.currentThread().interrupt();
           log.debug(e.toString(), e);
         }
 
diff --git 
a/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java 
b/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java
index 0e253ff7eb..c7c1a3cc05 100644
--- a/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java
+++ b/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java
@@ -252,6 +252,7 @@ public class Manager extends AbstractServer
         try {
           tserverStatusNtfyObj.wait();
         } catch (InterruptedException e) {
+          Thread.currentThread().interrupt();
           throw new IllegalStateException(e);
         }
       }
@@ -290,6 +291,9 @@ public class Manager extends AbstractServer
     try {
       allConfig = CompactionConfigStorage.getAllConfig(getContext(), 
tablePredicate);
     } catch (InterruptedException | KeeperException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new RuntimeException(e);
     }
     return Maps.transformValues(allConfig, 
CompactionConfig::getExecutionHints);
@@ -957,6 +961,9 @@ public class Manager extends AbstractServer
       // manager processes to work on stuff.
       getAssistantManagerLock();
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException("Unable to get manager lock ", e);
     }
 
@@ -1106,6 +1113,7 @@ public class Manager extends AbstractServer
         log.debug("Manager main thread is waiting for upgrade to complete");
         Thread.sleep(1000);
       } catch (InterruptedException e) {
+        Thread.currentThread().interrupt();
         throw new IllegalStateException("Interrupted while waiting for upgrade 
to complete", e);
       }
     }
@@ -1355,6 +1363,9 @@ public class Manager extends AbstractServer
       
ThreadPools.watchCriticalScheduledTask(getContext().getScheduledExecutor()
           .scheduleWithFixedDelay(userCleaner::ageOff, 10, 4 * 60, MINUTES));
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException("Exception setting up FaTE cleanup 
thread", e);
     }
   }
@@ -1653,6 +1664,9 @@ public class Manager extends AbstractServer
           
getContext().getZooSession().asReader().getChildren(Constants.ZSHUTTING_DOWN_TSERVERS);
       return 
children.stream().map(TServerInstance::new).collect(Collectors.toSet());
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new RuntimeException(e);
     }
   }
diff --git 
a/server/manager/src/main/java/org/apache/accumulo/manager/ManagerClientServiceHandler.java
 
b/server/manager/src/main/java/org/apache/accumulo/manager/ManagerClientServiceHandler.java
index 9ed0badc5a..0d374c804c 100644
--- 
a/server/manager/src/main/java/org/apache/accumulo/manager/ManagerClientServiceHandler.java
+++ 
b/server/manager/src/main/java/org/apache/accumulo/manager/ManagerClientServiceHandler.java
@@ -480,6 +480,9 @@ public class ManagerClientServiceHandler implements 
ManagerClientService.Iface {
       final ResourceGroupPropKey key = ResourceGroupPropKey.of(rgid);
       key.createZNode(context.getZooSession().asReaderWriter());
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       Manager.log.error("Problem creating resource group config node in 
zookeeper", e);
       throw new TException(e.getMessage());
     }
diff --git 
a/server/manager/src/main/java/org/apache/accumulo/manager/TabletGroupWatcher.java
 
b/server/manager/src/main/java/org/apache/accumulo/manager/TabletGroupWatcher.java
index c69bc2d0d5..fb2eaa62a9 100644
--- 
a/server/manager/src/main/java/org/apache/accumulo/manager/TabletGroupWatcher.java
+++ 
b/server/manager/src/main/java/org/apache/accumulo/manager/TabletGroupWatcher.java
@@ -344,6 +344,7 @@ abstract class TabletGroupWatcher extends 
AccumuloDaemonThread {
             }
           }
         } catch (InterruptedException e) {
+          Thread.currentThread().interrupt();
           throw new RuntimeException(e);
         }
       }
@@ -378,6 +379,7 @@ abstract class TabletGroupWatcher extends 
AccumuloDaemonThread {
         try {
           wait(millis);
         } catch (InterruptedException e) {
+          Thread.currentThread().interrupt();
           throw new RuntimeException(e);
         }
       }
diff --git 
a/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/CompactionCoordinator.java
 
b/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/CompactionCoordinator.java
index 74f63a0e09..bbe9dd22ea 100644
--- 
a/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/CompactionCoordinator.java
+++ 
b/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/CompactionCoordinator.java
@@ -268,6 +268,7 @@ public class CompactionCoordinator
       try {
         localThread.join();
       } catch (InterruptedException e) {
+        Thread.currentThread().interrupt();
         LOG.error("Exception stopping compaction coordinator thread", e);
       }
     }
@@ -309,6 +310,7 @@ public class CompactionCoordinator
     try {
       shutdown.await();
     } catch (InterruptedException e) {
+      Thread.currentThread().interrupt();
       LOG.warn("Interrupted waiting for shutdown latch.", e);
     }
 
diff --git 
a/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/commit/CommitCompaction.java
 
b/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/commit/CommitCompaction.java
index a1eb21efc9..15c07d3140 100644
--- 
a/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/commit/CommitCompaction.java
+++ 
b/server/manager/src/main/java/org/apache/accumulo/manager/compaction/coordinator/commit/CommitCompaction.java
@@ -155,6 +155,7 @@ public class CommitCompaction extends AbstractFateOperation 
{
 
         retry.waitForNextAttempt(LOG, "Failed to commit " + ecid + " for 
tablet " + getExtent());
       } catch (InterruptedException e) {
+        Thread.currentThread().interrupt();
         throw new RuntimeException(e);
       }
     }
diff --git 
a/server/manager/src/main/java/org/apache/accumulo/manager/fate/FateManager.java
 
b/server/manager/src/main/java/org/apache/accumulo/manager/fate/FateManager.java
index 64f1371a9e..1e7dedc9cc 100644
--- 
a/server/manager/src/main/java/org/apache/accumulo/manager/fate/FateManager.java
+++ 
b/server/manager/src/main/java/org/apache/accumulo/manager/fate/FateManager.java
@@ -189,6 +189,7 @@ public class FateManager {
         assignmentThread.join();
       }
     } catch (InterruptedException e) {
+      Thread.currentThread().interrupt();
       throw new IllegalStateException(e);
     }
     // Try to set every assistant manager to an empty set of partitions. This 
will cause them all to
@@ -221,6 +222,9 @@ public class FateManager {
           try {
             yield new MetaFateStore<>(context.getZooSession(), null, null);
           } catch (KeeperException | InterruptedException e) {
+            if (e instanceof InterruptedException) {
+              Thread.currentThread().interrupt();
+            }
             throw new IllegalStateException(e);
           }
         }
@@ -236,6 +240,7 @@ public class FateManager {
           try {
             Thread.sleep(Math.min(100, timer.timeLeft(TimeUnit.MILLISECONDS)));
           } catch (InterruptedException e) {
+            Thread.currentThread().interrupt();
             throw new IllegalStateException(e);
           }
         }
diff --git 
a/server/manager/src/main/java/org/apache/accumulo/manager/fate/FateNotifier.java
 
b/server/manager/src/main/java/org/apache/accumulo/manager/fate/FateNotifier.java
index 5789832277..6b6d9af25e 100644
--- 
a/server/manager/src/main/java/org/apache/accumulo/manager/fate/FateNotifier.java
+++ 
b/server/manager/src/main/java/org/apache/accumulo/manager/fate/FateNotifier.java
@@ -139,6 +139,7 @@ public class FateNotifier {
           }
 
         } catch (InterruptedException e) {
+          Thread.currentThread().interrupt();
           throw new IllegalStateException(e);
         } catch (TException e) {
           log.warn("Failed to send notification that fate was seeded", e);
diff --git 
a/server/manager/src/main/java/org/apache/accumulo/manager/fate/FateWorker.java 
b/server/manager/src/main/java/org/apache/accumulo/manager/fate/FateWorker.java
index f60fc453c0..d4c544137e 100644
--- 
a/server/manager/src/main/java/org/apache/accumulo/manager/fate/FateWorker.java
+++ 
b/server/manager/src/main/java/org/apache/accumulo/manager/fate/FateWorker.java
@@ -88,6 +88,9 @@ public class FateWorker implements FateWorkerService.Iface {
           new MetaFateStore<>(context.getZooSession(), lock.getLockID(), 
isLockHeld);
       this.fates.put(FateInstanceType.META, fateFactory.create(fateWorkerEnv, 
metaStore, context));
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException(e);
     }
     UserFateStore<FateEnv> store =
diff --git 
a/server/manager/src/main/java/org/apache/accumulo/manager/fate/FateWorkerEnv.java
 
b/server/manager/src/main/java/org/apache/accumulo/manager/fate/FateWorkerEnv.java
index 01cf2baea2..f442948054 100644
--- 
a/server/manager/src/main/java/org/apache/accumulo/manager/fate/FateWorkerEnv.java
+++ 
b/server/manager/src/main/java/org/apache/accumulo/manager/fate/FateWorkerEnv.java
@@ -74,6 +74,7 @@ public class FateWorkerEnv implements FateEnv {
     try {
       eventSendThread.join();
     } catch (InterruptedException e) {
+      Thread.currentThread().interrupt();
       throw new IllegalStateException(e);
     }
   }
@@ -104,6 +105,7 @@ public class FateWorkerEnv implements FateEnv {
           }
 
         } catch (InterruptedException e) {
+          Thread.currentThread().interrupt();
           throw new IllegalStateException(e);
         }
       }
diff --git 
a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/CleanUpBulkImport.java
 
b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/CleanUpBulkImport.java
index b9229bf8f6..d1ca90e67b 100644
--- 
a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/CleanUpBulkImport.java
+++ 
b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/CleanUpBulkImport.java
@@ -132,6 +132,7 @@ public class CleanUpBulkImport extends 
AbstractBulkFateOperation {
                 String.format("%s tableId:%s conditional mutations to delete 
load markers failed.",
                     fateId, tableId));
           } catch (InterruptedException e) {
+            Thread.currentThread().interrupt();
             throw new RuntimeException(e);
           }
         } else {
diff --git 
a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/TabletRefresher.java
 
b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/TabletRefresher.java
index 1f7b1e8965..f629550231 100644
--- 
a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/TabletRefresher.java
+++ 
b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/TabletRefresher.java
@@ -124,6 +124,9 @@ public class TabletRefresher {
         try {
           nonRefreshedExtents = future.get();
         } catch (InterruptedException | ExecutionException e) {
+          if (e instanceof InterruptedException) {
+            Thread.currentThread().interrupt();
+          }
           throw new RuntimeException(e);
         }
         if (nonRefreshedExtents.isEmpty()) {
@@ -190,6 +193,7 @@ public class TabletRefresher {
           retry.waitForNextAttempt(log, logId + " waiting for " + 
refreshesNeeded.size()
               + " tservers to refresh their tablets metadata");
         } catch (InterruptedException e) {
+          Thread.currentThread().interrupt();
           throw new RuntimeException(e);
         }
       }
diff --git 
a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/compact/CompactionDriver.java
 
b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/compact/CompactionDriver.java
index 543797dd51..9b5b484b4a 100644
--- 
a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/compact/CompactionDriver.java
+++ 
b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/compact/CompactionDriver.java
@@ -316,6 +316,9 @@ public class CompactionDriver extends AbstractFateOperation 
{
         }
       }
     } catch (InterruptedException | KeeperException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new RuntimeException(e);
     }
 
diff --git 
a/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/Upgrader11to12.java
 
b/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/Upgrader11to12.java
index 29e1ac53cf..f4f8b9f6e6 100644
--- 
a/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/Upgrader11to12.java
+++ 
b/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/Upgrader11to12.java
@@ -306,6 +306,9 @@ public class Upgrader11to12 implements Upgrader {
       
context.getZooSession().asReaderWriter().putPersistentData(Constants.ZMANAGER_ASSISTANT_LOCK,
           new byte[0], ZooUtil.NodeExistsPolicy.SKIP);
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException(e);
     }
   }
@@ -315,6 +318,9 @@ public class Upgrader11to12 implements Upgrader {
       
context.getZooSession().asReaderWriter().putPersistentData(Constants.ZSHUTTING_DOWN_TSERVERS,
           new byte[0], ZooUtil.NodeExistsPolicy.SKIP);
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException(e);
     }
   }
@@ -324,6 +330,9 @@ public class Upgrader11to12 implements Upgrader {
       
context.getZooSession().asReaderWriter().putPersistentData(Constants.ZCOMPACTIONS,
           new byte[0], ZooUtil.NodeExistsPolicy.SKIP);
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException(e);
     }
   }
@@ -485,6 +494,9 @@ public class Upgrader11to12 implements Upgrader {
         zrw.delete(zTablePath + ZTABLE_COMPACT_CANCEL_ID);
       }
     } catch (KeeperException | InterruptedException e1) {
+      if (e1 instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException(e1);
     }
   }
@@ -599,6 +611,9 @@ public class Upgrader11to12 implements Upgrader {
           }
         }
       } catch (InterruptedException | KeeperException e) {
+        if (e instanceof InterruptedException) {
+          Thread.currentThread().interrupt();
+        }
         throw new IllegalStateException(e);
       }
     }
@@ -771,6 +786,9 @@ public class Upgrader11to12 implements Upgrader {
       context.getZooSession().asReaderWriter().recursiveDelete(ZTRACERS,
           ZooUtil.NodeMissingPolicy.SKIP);
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException("Error removing ZTRACERS node", e);
     }
   }
@@ -873,6 +891,9 @@ public class Upgrader11to12 implements Upgrader {
         LOG.info("Root metadata in ZooKeeper after upgrade: {}", rtm.toJson());
       }
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException("Error upgrading file references in root 
tablet", e);
     }
   }
@@ -900,6 +921,9 @@ public class Upgrader11to12 implements Upgrader {
         zrw.delete(namespaceNamePath);
       }
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException("Error creating namespace mappings", e);
     }
   }
@@ -934,6 +958,9 @@ public class Upgrader11to12 implements Upgrader {
     try {
       
ResourceGroupPropKey.DEFAULT.createZNode(context.getZooSession().asReaderWriter());
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException("Error creating default resource group 
config node", e);
     }
   }
diff --git 
a/server/monitor/src/main/java/org/apache/accumulo/monitor/next/InformationFetcher.java
 
b/server/monitor/src/main/java/org/apache/accumulo/monitor/next/InformationFetcher.java
index 91cd598241..4db1496522 100644
--- 
a/server/monitor/src/main/java/org/apache/accumulo/monitor/next/InformationFetcher.java
+++ 
b/server/monitor/src/main/java/org/apache/accumulo/monitor/next/InformationFetcher.java
@@ -438,6 +438,9 @@ public class InformationFetcher implements 
RemovalListener<ServerId,MetricRespon
         FateStatus status = admin.getStatus(stores, zk, zTableLocksPath, null, 
null, null, false);
         summary.processFateTransactions(status.getTransactions());
       } catch (KeeperException | InterruptedException e) {
+        if (e instanceof InterruptedException) {
+          Thread.currentThread().interrupt();
+        }
         throw new IllegalStateException(e);
       }
     }
@@ -649,6 +652,9 @@ public class InformationFetcher implements 
RemovalListener<ServerId,MetricRespon
     try {
       this.readOnlyMFS = new MetaFateStore<>(ctx.getZooSession(), null, null);
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new RuntimeException("Exception creating MetaFateStore", e);
     }
     this.readOnlyUFS = new UserFateStore<>(ctx, SystemTables.FATE.tableName(), 
null, null);
@@ -721,6 +727,7 @@ public class InformationFetcher implements 
RemovalListener<ServerId,MetricRespon
     try {
       countThread.join(30_000);
     } catch (InterruptedException e) {
+      Thread.currentThread().interrupt();
       throw new RuntimeException(
           "Interrupted while waiting for thread counting metadata tablet 
locations");
     }
diff --git 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServer.java 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServer.java
index c400bde29c..ce043e0e6b 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServer.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServer.java
@@ -422,6 +422,7 @@ public class ScanServer extends AbstractServer
             sessionManager.getActiveScans().isEmpty() && 
tabletMetadataCache.estimatedSize() == 0);
         updateAllowedTables(false);
       } catch (InterruptedException e) {
+        Thread.currentThread().interrupt();
         LOG.info("Interrupt Exception received, shutting down");
         gracefulShutdown(getContext().rpcCreds());
       }
diff --git 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletClientHandler.java
 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletClientHandler.java
index 3a5c334f03..31ed033261 100644
--- 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletClientHandler.java
+++ 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletClientHandler.java
@@ -865,6 +865,9 @@ public class TabletClientHandler implements 
TabletServerClientService.Iface,
 
       return future.get();
     } catch (ExecutionException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       log.warn("Exception returned for conditionalUpdate. tableId: {}, opid: 
{}",
           cs == null ? null : cs.tableId, opid, e);
       throw new TException(e);
diff --git 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java
 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java
index 5b4276d6ee..7ef72feee0 100644
--- 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java
+++ 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java
@@ -282,6 +282,7 @@ public class TabletServerLogger {
           try {
             nextLog.offer(e, 12, TimeUnit.HOURS);
           } catch (InterruptedException ex) {
+            Thread.currentThread().interrupt();
             // This is a critical thread, so dying will log this then halt the 
VM.
             throw new IllegalStateException("Next log maker thread 
interrupted", ex);
           }
@@ -330,6 +331,7 @@ public class TabletServerLogger {
             log.info("Our WAL was not used for 12 hours: {}", 
alog.getLogEntry());
           }
         } catch (InterruptedException e) {
+          Thread.currentThread().interrupt();
           // This is a critical thread, so dying will log this then halt the 
VM.
           throw new IllegalStateException("Next log maker thread interrupted", 
e);
         }
diff --git 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java
index 9d49a1779c..73ed820f05 100644
--- 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java
+++ 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java
@@ -964,6 +964,7 @@ public class Tablet extends TabletBase {
               runningScans.size());
           this.wait(50);
         } catch (InterruptedException e) {
+          Thread.currentThread().interrupt();
           log.error("Interrupted waiting to completeClose for extent {}", 
extent, e);
         }
       }
diff --git a/test/src/main/java/org/apache/accumulo/test/ScanConsistencyIT.java 
b/test/src/main/java/org/apache/accumulo/test/ScanConsistencyIT.java
index e78f0fd888..df101e5253 100644
--- a/test/src/main/java/org/apache/accumulo/test/ScanConsistencyIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/ScanConsistencyIT.java
@@ -206,7 +206,7 @@ public class ScanConsistencyIT extends 
AccumuloClusterHarness {
             }
           }
         } catch (InterruptedException e) {
-          // ignore
+          Thread.currentThread().interrupt();
         } catch (Exception e) {
           log.warn("Failed to scan metadata table", e);
         }
diff --git a/test/src/main/java/org/apache/accumulo/test/WriteAfterCloseIT.java 
b/test/src/main/java/org/apache/accumulo/test/WriteAfterCloseIT.java
index 2f42f0a00a..f4cf53c130 100644
--- a/test/src/main/java/org/apache/accumulo/test/WriteAfterCloseIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/WriteAfterCloseIT.java
@@ -100,6 +100,7 @@ public class WriteAfterCloseIT extends 
AccumuloClusterHarness {
         try {
           Thread.sleep(SLEEP_TIME);
         } catch (InterruptedException ex) {
+          Thread.currentThread().interrupt();
           throw new IllegalStateException("Interrupted during sleep", ex);
         }
       }
diff --git 
a/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionTestUtils.java
 
b/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionTestUtils.java
index 778ca66f8c..5aef52e531 100644
--- 
a/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionTestUtils.java
+++ 
b/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionTestUtils.java
@@ -251,6 +251,7 @@ public class ExternalCompactionTestUtils {
           tec -> running.put(tec.getJob().getExternalCompactionId(), tec));
       return running;
     } catch (InterruptedException e) {
+      Thread.currentThread().interrupt();
       throw new IllegalStateException(e);
     }
   }
diff --git a/test/src/main/java/org/apache/accumulo/test/fate/FateITBase.java 
b/test/src/main/java/org/apache/accumulo/test/fate/FateITBase.java
index 0a226ec798..c044b9dd87 100644
--- a/test/src/main/java/org/apache/accumulo/test/fate/FateITBase.java
+++ b/test/src/main/java/org/apache/accumulo/test/fate/FateITBase.java
@@ -802,6 +802,7 @@ public abstract class FateITBase extends 
SharedMiniClusterBase implements FateTe
       // wait for the signal to exit the method
       finishCall.await();
     } catch (InterruptedException e) {
+      Thread.currentThread().interrupt();
       LOG.debug("InterruptedException occurred inCall.");
       interruptedException.set(e);
       throw e;
diff --git a/test/src/main/java/org/apache/accumulo/test/fate/TestLock.java 
b/test/src/main/java/org/apache/accumulo/test/fate/TestLock.java
index 598aed5c7e..62ad467ea6 100644
--- a/test/src/main/java/org/apache/accumulo/test/fate/TestLock.java
+++ b/test/src/main/java/org/apache/accumulo/test/fate/TestLock.java
@@ -79,6 +79,9 @@ public class TestLock {
       zrw.putPersistentData(parentLockPath, new byte[0], 
NodeExistsPolicy.SKIP);
       zrw.putPersistentData(lockPath, new byte[0], NodeExistsPolicy.SKIP);
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException("Error creating path in ZooKeeper", e);
     }
 
diff --git 
a/test/src/main/java/org/apache/accumulo/test/fate/meta/MetaFateIT.java 
b/test/src/main/java/org/apache/accumulo/test/fate/meta/MetaFateIT.java
index cfd28ecda1..48868f8338 100644
--- a/test/src/main/java/org/apache/accumulo/test/fate/meta/MetaFateIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/fate/meta/MetaFateIT.java
@@ -76,6 +76,9 @@ public class MetaFateIT extends FateITBase {
     try {
       return getTxStatus(sctx.getZooSession(), fateId);
     } catch (KeeperException | InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException(e);
     }
   }
diff --git 
a/test/src/main/java/org/apache/accumulo/test/functional/FateConcurrencyIT.java 
b/test/src/main/java/org/apache/accumulo/test/functional/FateConcurrencyIT.java
index 4fc51cd22c..5eec44fb2b 100644
--- 
a/test/src/main/java/org/apache/accumulo/test/functional/FateConcurrencyIT.java
+++ 
b/test/src/main/java/org/apache/accumulo/test/functional/FateConcurrencyIT.java
@@ -398,6 +398,9 @@ public class FateConcurrencyIT extends 
AccumuloClusterHarness {
       }
 
     } catch (TableNotFoundException | InterruptedException ex) {
+      if (ex instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new IllegalStateException(ex);
     }
 
diff --git 
a/test/src/main/java/org/apache/accumulo/test/manager/SuspendedTabletsIT.java 
b/test/src/main/java/org/apache/accumulo/test/manager/SuspendedTabletsIT.java
index d298105e73..f7f6c52916 100644
--- 
a/test/src/main/java/org/apache/accumulo/test/manager/SuspendedTabletsIT.java
+++ 
b/test/src/main/java/org/apache/accumulo/test/manager/SuspendedTabletsIT.java
@@ -335,6 +335,9 @@ public class SuspendedTabletsIT extends 
AccumuloClusterHarness {
           ((MiniAccumuloClusterImpl) getCluster()).getClusterControl()
               .killProcess(ServerType.TABLET_SERVER, proc);
         } catch (ProcessNotFoundException | InterruptedException e) {
+          if (e instanceof InterruptedException) {
+            Thread.currentThread().interrupt();
+          }
           throw new RuntimeException("Error killing process: " + proc, e);
         }
       });
diff --git 
a/test/src/main/java/org/apache/accumulo/test/performance/NullTserver.java 
b/test/src/main/java/org/apache/accumulo/test/performance/NullTserver.java
index 73adbe90e3..76d84509b7 100644
--- a/test/src/main/java/org/apache/accumulo/test/performance/NullTserver.java
+++ b/test/src/main/java/org/apache/accumulo/test/performance/NullTserver.java
@@ -353,6 +353,9 @@ public class NullTserver {
       try {
         zk.asReaderWriter().mkdirs(slp.toString());
       } catch (KeeperException | InterruptedException e) {
+        if (e instanceof InterruptedException) {
+          Thread.currentThread().interrupt();
+        }
         throw new IllegalStateException("Error creating path in ZooKeeper", e);
       }
       ServiceLockData sld = new ServiceLockData(nullTServerUUID, "localhost", 
ThriftService.TSERV,
diff --git 
a/test/src/main/java/org/apache/accumulo/test/upgrade/ScanServerUpgrade11to12TestIT.java
 
b/test/src/main/java/org/apache/accumulo/test/upgrade/ScanServerUpgrade11to12TestIT.java
index 2d064e56ec..345b90da81 100644
--- 
a/test/src/main/java/org/apache/accumulo/test/upgrade/ScanServerUpgrade11to12TestIT.java
+++ 
b/test/src/main/java/org/apache/accumulo/test/upgrade/ScanServerUpgrade11to12TestIT.java
@@ -111,6 +111,9 @@ public class ScanServerUpgrade11to12TestIT extends 
SharedMiniClusterBase {
       log.info("Removed constraints from table {}", tableName);
       Thread.sleep(10_000);
     } catch (AccumuloException | AccumuloSecurityException | 
InterruptedException e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       throw new RuntimeException(e);
     }
 
diff --git a/test/src/main/java/org/apache/accumulo/test/util/SlowOps.java 
b/test/src/main/java/org/apache/accumulo/test/util/SlowOps.java
index 83a47d9f44..f3f319aa23 100644
--- a/test/src/main/java/org/apache/accumulo/test/util/SlowOps.java
+++ b/test/src/main/java/org/apache/accumulo/test/util/SlowOps.java
@@ -232,6 +232,7 @@ public class SlowOps {
           }
         });
       } catch (InterruptedException e) {
+        Thread.currentThread().interrupt();
         throw new IllegalStateException("Interruped while getting compactions 
from compactors", e);
       }
 
@@ -242,6 +243,7 @@ public class SlowOps {
       try {
         Thread.sleep(SECONDS.toMillis(3));
       } catch (InterruptedException ex) {
+        Thread.currentThread().interrupt();
         throw new IllegalStateException("interrupted during sleep", ex);
       }
     } while (!timer.hasElapsed(maxWait));

Reply via email to