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));