This is an automated email from the ASF dual-hosted git repository.
dlmarion pushed a commit to branch 2.1
in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/2.1 by this push:
new 63ffb03686 Reset Thread interrupted state after catching
InterruptedException (#6438)
63ffb03686 is described below
commit 63ffb03686948807e333a24758a3076053344749
Author: Dave Marion <[email protected]>
AuthorDate: Tue Jun 30 07:48:40 2026 -0400
Reset Thread interrupted state after catching InterruptedException (#6438)
This commit resets the thread interrupted state after catching
InterruptedException. These changes were made by running the
Maven command below, reviewing the changes, and making some
manual modifications.
mvn -U org.openrewrite.maven:rewrite-maven-plugin:run \
--define
rewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-static-analysis:RELEASE
\
--define
rewrite.activeRecipes=org.openrewrite.staticanalysis.InterruptedExceptionHandling
\
--define rewrite.exportDatatables=true
The related documentation for this Maven plugin can be found
at
https://docs.openrewrite.org/recipes/staticanalysis/interruptedexceptionhandling
---
.../core/clientImpl/ConditionalWriterImpl.java | 1 +
.../core/clientImpl/InstanceOperationsImpl.java | 4 +++
.../core/clientImpl/NamespaceOperationsImpl.java | 1 +
.../core/clientImpl/TableOperationsImpl.java | 3 ++
.../TabletServerBatchReaderIterator.java | 4 +++
.../core/clientImpl/TabletServerBatchWriter.java | 2 ++
.../accumulo/core/clientImpl/ThriftScanner.java | 2 ++
.../core/clientImpl/ThriftTransportPool.java | 1 +
.../accumulo/core/clientImpl/bulk/BulkImport.java | 1 +
.../org/apache/accumulo/core/fate/AdminUtil.java | 1 +
.../java/org/apache/accumulo/core/fate/Fate.java | 1 +
.../org/apache/accumulo/core/fate/ZooStore.java | 11 +++++++
.../accumulo/core/fate/zookeeper/ServiceLock.java | 9 ++++++
.../core/fate/zookeeper/ServiceLockSupport.java | 2 +-
.../accumulo/core/fate/zookeeper/ZooCache.java | 2 ++
.../accumulo/core/fate/zookeeper/ZooSession.java | 1 +
.../file/blockfile/cache/lru/LruBlockCache.java | 3 +-
.../core/metadata/schema/TabletsMetadata.java | 3 ++
.../accumulo/core/rpc/UGIAssumingTransport.java | 3 ++
.../ReplicationCoordinatorThriftClient.java | 5 ++++
.../org/apache/accumulo/core/util/CleanUp.java | 1 +
.../apache/accumulo/core/util/UtilWaitThread.java | 2 ++
.../util/compaction/ExternalCompactionUtil.java | 6 ++++
.../accumulo/core/util/threads/ThreadPools.java | 1 +
.../org/apache/accumulo/core/data/TableIdTest.java | 1 +
.../core/file/rfile/MultiThreadedRFileTest.java | 1 +
.../accumulo/minicluster/MiniAccumuloRunner.java | 1 +
.../miniclusterImpl/MiniAccumuloClusterImpl.java | 4 +++
.../MiniAccumuloClusterStartStopTest.java | 3 ++
.../org/apache/accumulo/server/AbstractServer.java | 4 +++
.../org/apache/accumulo/server/ServerContext.java | 3 ++
.../accumulo/server/client/BulkImporter.java | 3 ++
.../server/compaction/RetryableThriftCall.java | 1 +
.../server/conf/store/impl/ZooPropLoader.java | 3 ++
.../server/conf/store/impl/ZooPropStore.java | 6 ++++
.../server/conf/util/ConfigPropertyUpgrader.java | 2 ++
.../accumulo/server/conf/util/ZooPropEditor.java | 3 ++
.../accumulo/server/fs/VolumeManagerImpl.java | 3 ++
.../apache/accumulo/server/init/Initialize.java | 3 ++
.../accumulo/server/init/ZooKeeperInitializer.java | 3 ++
.../accumulo/server/log/WalStateManager.java | 24 +++++++++++++++
.../accumulo/server/metadata/ServerAmpleImpl.java | 3 ++
.../delegation/AuthenticationTokenKeyManager.java | 7 +++++
.../AuthenticationTokenSecretManager.java | 3 ++
.../delegation/ZooAuthenticationKeyWatcher.java | 6 ++++
.../security/handler/KerberosAuthenticator.java | 4 +++
.../server/security/handler/ZKAuthenticator.java | 6 ++++
.../server/security/handler/ZKAuthorizor.java | 6 ++++
.../server/security/handler/ZKPermHandler.java | 18 ++++++++++++
.../accumulo/server/util/AccumuloStatus.java | 3 ++
.../apache/accumulo/server/util/UpgradeUtil.java | 12 ++++++++
.../org/apache/accumulo/server/util/ZooZap.java | 21 +++++++++++++
.../server/zookeeper/DistributedWorkQueue.java | 3 ++
.../server/conf/store/impl/ReadyMonitorTest.java | 4 +++
.../coordinator/CompactionCoordinator.java | 5 ++++
.../org/apache/accumulo/compactor/Compactor.java | 4 +++
.../main/java/org/apache/accumulo/gc/GCRun.java | 1 +
.../accumulo/gc/GarbageCollectWriteAheadLogs.java | 6 ++++
.../apache/accumulo/gc/SimpleGarbageCollector.java | 4 +++
.../apache/accumulo/manager/EventCoordinator.java | 1 +
.../java/org/apache/accumulo/manager/Manager.java | 34 +++++++++++++++++++++-
.../replication/ManagerReplicationCoordinator.java | 3 ++
.../manager/replication/ReplicationDriver.java | 1 +
.../replication/SequentialWorkAssigner.java | 6 ++++
.../manager/replication/UnorderedWorkAssigner.java | 4 +++
.../apache/accumulo/manager/tableOps/Utils.java | 3 ++
.../manager/upgrade/RenameMasterDirInZK.java | 3 ++
.../accumulo/manager/upgrade/Upgrader9to10.java | 24 +++++++++++++++
.../java/org/apache/accumulo/monitor/Monitor.java | 4 +++
.../org/apache/accumulo/tserver/ScanServer.java | 3 ++
.../org/apache/accumulo/tserver/TabletServer.java | 7 +++++
.../tserver/TabletServerResourceManager.java | 5 +++-
.../accumulo/tserver/UnloadTabletHandler.java | 4 ++-
.../org/apache/accumulo/tserver/WriteTracker.java | 1 +
.../tserver/compactions/CompactionManager.java | 1 +
.../org/apache/accumulo/tserver/log/DfsLogger.java | 3 ++
.../accumulo/tserver/log/TabletServerLogger.java | 3 ++
.../tserver/replication/ReplicationWorker.java | 3 ++
.../accumulo/tserver/session/SessionManager.java | 1 +
.../accumulo/tserver/tablet/CommitSession.java | 1 +
.../accumulo/tserver/tablet/DatafileManager.java | 1 +
.../accumulo/tserver/tablet/MinorCompactor.java | 3 ++
.../apache/accumulo/tserver/tablet/Scanner.java | 2 ++
.../org/apache/accumulo/tserver/tablet/Tablet.java | 8 +++++
.../accumulo/tserver/tablet/TabletMemory.java | 1 +
.../vfs/AccumuloReloadingVFSClassLoader.java | 2 ++
.../apache/accumulo/test/BatchWriterIterator.java | 4 ++-
.../apache/accumulo/test/MultiTableRecoveryIT.java | 3 ++
.../apache/accumulo/test/ScanConsistencyIT.java | 1 +
.../accumulo/test/ScanServerMultipleScansIT.java | 4 +++
.../org/apache/accumulo/test/ZombieScanIT.java | 1 +
.../accumulo/test/ZooKeeperPropertiesIT.java | 4 +++
.../test/conf/store/PropCacheCaffeineImplZkIT.java | 3 ++
.../test/conf/store/PropStoreZooKeeperIT.java | 3 ++
.../accumulo/test/conf/store/ZooBasedConfigIT.java | 3 ++
.../test/conf/util/ConfigTransformerIT.java | 3 ++
.../accumulo/test/fate/zookeeper/FateIT.java | 1 +
.../test/functional/ConcurrentDeleteTableIT.java | 6 ++++
.../test/functional/FateConcurrencyIT.java | 3 ++
.../test/functional/FunctionalTestUtils.java | 3 ++
.../test/functional/HalfDeadServerWatcherIT.java | 3 ++
.../accumulo/test/functional/SlowIterator.java | 1 +
.../replication/ReplicationOperationsImplIT.java | 4 +++
.../test/upgrade/ConfigPropertyUpgraderIT.java | 3 ++
104 files changed, 433 insertions(+), 6 deletions(-)
diff --git
a/core/src/main/java/org/apache/accumulo/core/clientImpl/ConditionalWriterImpl.java
b/core/src/main/java/org/apache/accumulo/core/clientImpl/ConditionalWriterImpl.java
index fb24b15b88..3d4853816a 100644
---
a/core/src/main/java/org/apache/accumulo/core/clientImpl/ConditionalWriterImpl.java
+++
b/core/src/main/java/org/apache/accumulo/core/clientImpl/ConditionalWriterImpl.java
@@ -155,6 +155,7 @@ public class ConditionalWriterImpl implements
ConditionalWriter {
count--;
return result;
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
}
diff --git
a/core/src/main/java/org/apache/accumulo/core/clientImpl/InstanceOperationsImpl.java
b/core/src/main/java/org/apache/accumulo/core/clientImpl/InstanceOperationsImpl.java
index c11b6f3c21..4f865ee808 100644
---
a/core/src/main/java/org/apache/accumulo/core/clientImpl/InstanceOperationsImpl.java
+++
b/core/src/main/java/org/apache/accumulo/core/clientImpl/InstanceOperationsImpl.java
@@ -154,6 +154,7 @@ public class InstanceOperationsImpl implements
InstanceOperations {
"Unable to modify instance properties for because of concurrent
modification");
retry.waitForNextAttempt(log, "Modify instance properties");
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
} finally {
@@ -349,6 +350,9 @@ public class InstanceOperationsImpl implements
InstanceOperations {
try {
ret.addAll(future.get());
} catch (InterruptedException | ExecutionException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
if (e.getCause() instanceof ThriftSecurityException) {
ThriftSecurityException tse = (ThriftSecurityException)
e.getCause();
throw new AccumuloSecurityException(tse.user, tse.code, e);
diff --git
a/core/src/main/java/org/apache/accumulo/core/clientImpl/NamespaceOperationsImpl.java
b/core/src/main/java/org/apache/accumulo/core/clientImpl/NamespaceOperationsImpl.java
index d58c6772b2..f8e3b4a067 100644
---
a/core/src/main/java/org/apache/accumulo/core/clientImpl/NamespaceOperationsImpl.java
+++
b/core/src/main/java/org/apache/accumulo/core/clientImpl/NamespaceOperationsImpl.java
@@ -257,6 +257,7 @@ public class NamespaceOperationsImpl extends
NamespaceOperationsHelper {
+ " because of concurrent modification");
retry.waitForNextAttempt(log, "Modify namespace properties for " +
namespace);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
} finally {
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 669a09570b..ee12b6ebab 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
@@ -530,6 +530,7 @@ public class TableOperationsImpl extends
TableOperationsHelper {
}
}
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
} finally {
executor.shutdown();
@@ -1065,6 +1066,7 @@ public class TableOperationsImpl extends
TableOperationsHelper {
+ " because of concurrent modification");
retry.waitForNextAttempt(log, "modify table properties for " +
tableName);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
} finally {
@@ -1956,6 +1958,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 RuntimeException(e);
}
locator.invalidateCache();
diff --git
a/core/src/main/java/org/apache/accumulo/core/clientImpl/TabletServerBatchReaderIterator.java
b/core/src/main/java/org/apache/accumulo/core/clientImpl/TabletServerBatchReaderIterator.java
index 53a44dc0bf..7dcda72b9d 100644
---
a/core/src/main/java/org/apache/accumulo/core/clientImpl/TabletServerBatchReaderIterator.java
+++
b/core/src/main/java/org/apache/accumulo/core/clientImpl/TabletServerBatchReaderIterator.java
@@ -156,6 +156,7 @@ public class TabletServerBatchReaderIterator implements
Iterator<Entry<Key,Value
try {
resultsQueue.put(entries);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
if (TabletServerBatchReaderIterator.this.queryThreadPool.isShutdown())
{
log.debug("Failed to add Batch Scan result", e);
} else {
@@ -215,6 +216,7 @@ public class TabletServerBatchReaderIterator implements
Iterator<Entry<Key,Value
batchIterator = batch.iterator();
return batch != LAST_BATCH;
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
}
@@ -288,6 +290,7 @@ public class TabletServerBatchReaderIterator implements
Iterator<Entry<Key,Value
try {
retry.waitForNextAttempt(log, "binRanges retry failures");
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
@@ -491,6 +494,7 @@ public class TabletServerBatchReaderIterator implements
Iterator<Entry<Key,Value
try {
resultsQueue.put(LAST_BATCH);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
fatalException = e;
if (!resultsQueue.offer(LAST_BATCH)) {
log.debug("Could not add to result queue after seeing
fatalException",
diff --git
a/core/src/main/java/org/apache/accumulo/core/clientImpl/TabletServerBatchWriter.java
b/core/src/main/java/org/apache/accumulo/core/clientImpl/TabletServerBatchWriter.java
index 43ba332221..f5938b2187 100644
---
a/core/src/main/java/org/apache/accumulo/core/clientImpl/TabletServerBatchWriter.java
+++
b/core/src/main/java/org/apache/accumulo/core/clientImpl/TabletServerBatchWriter.java
@@ -507,6 +507,7 @@ public class TabletServerBatchWriter implements
AutoCloseable {
wait();
}
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
}
@@ -1074,6 +1075,7 @@ public class TabletServerBatchWriter implements
AutoCloseable {
try {
cancelSession();
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new IllegalStateException(e);
}
}
diff --git
a/core/src/main/java/org/apache/accumulo/core/clientImpl/ThriftScanner.java
b/core/src/main/java/org/apache/accumulo/core/clientImpl/ThriftScanner.java
index e418642913..b4d10c4873 100644
--- a/core/src/main/java/org/apache/accumulo/core/clientImpl/ThriftScanner.java
+++ b/core/src/main/java/org/apache/accumulo/core/clientImpl/ThriftScanner.java
@@ -298,6 +298,7 @@ public class ThriftScanner {
retry.waitForNextAttempt(log, String.format(
"For tableId %s scan server selector is waiting for '%s'",
tableId, description));
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
@@ -550,6 +551,7 @@ public class ThriftScanner {
return results;
} catch (InterruptedException ex) {
+ Thread.currentThread().interrupt();
TraceUtil.setException(parent, ex, true);
throw new AccumuloException(ex);
} finally {
diff --git
a/core/src/main/java/org/apache/accumulo/core/clientImpl/ThriftTransportPool.java
b/core/src/main/java/org/apache/accumulo/core/clientImpl/ThriftTransportPool.java
index 75db7bffed..59a3b9d8c2 100644
---
a/core/src/main/java/org/apache/accumulo/core/clientImpl/ThriftTransportPool.java
+++
b/core/src/main/java/org/apache/accumulo/core/clientImpl/ThriftTransportPool.java
@@ -258,6 +258,7 @@ public class ThriftTransportPool {
try {
checkThread.join();
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
}
diff --git
a/core/src/main/java/org/apache/accumulo/core/clientImpl/bulk/BulkImport.java
b/core/src/main/java/org/apache/accumulo/core/clientImpl/bulk/BulkImport.java
index 1c155cd510..51a2302652 100644
---
a/core/src/main/java/org/apache/accumulo/core/clientImpl/bulk/BulkImport.java
+++
b/core/src/main/java/org/apache/accumulo/core/clientImpl/bulk/BulkImport.java
@@ -182,6 +182,7 @@ public class BulkImport implements
ImportDestinationArguments, ImportMappingOpti
try {
retry.waitForNextAttempt(log, String.format("bulk import to %s(%s)",
tableName, tableId));
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
log.info(ae.getMessage() + ". Retrying bulk import to " + tableName);
diff --git a/core/src/main/java/org/apache/accumulo/core/fate/AdminUtil.java
b/core/src/main/java/org/apache/accumulo/core/fate/AdminUtil.java
index c1acd45fe2..001e1092df 100644
--- a/core/src/main/java/org/apache/accumulo/core/fate/AdminUtil.java
+++ b/core/src/main/java/org/apache/accumulo/core/fate/AdminUtil.java
@@ -564,6 +564,7 @@ public class AdminUtil<T> {
return false;
}
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
System.err.println("ERROR: Could not read manager lock, not running" +
e.getMessage());
if (this.exitOnError) {
System.exit(1);
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 a138534a59..0059787b1b 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
@@ -483,6 +483,7 @@ public class Fate<T> {
try {
executor.awaitTermination(1, SECONDS);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new IllegalStateException(e);
}
}
diff --git a/core/src/main/java/org/apache/accumulo/core/fate/ZooStore.java
b/core/src/main/java/org/apache/accumulo/core/fate/ZooStore.java
index 1a989c310b..ead5818993 100644
--- a/core/src/main/java/org/apache/accumulo/core/fate/ZooStore.java
+++ b/core/src/main/java/org/apache/accumulo/core/fate/ZooStore.java
@@ -238,6 +238,9 @@ public class ZooStore<T> implements TStore<T> {
}
}
} catch (InterruptedException | KeeperException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException(e);
}
}
@@ -251,6 +254,7 @@ public class ZooStore<T> implements TStore<T> {
try {
this.wait(1000);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
}
@@ -451,6 +455,7 @@ public class ZooStore<T> implements TStore<T> {
try {
this.wait(5000);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
}
@@ -567,6 +572,9 @@ public class ZooStore<T> implements TStore<T> {
} catch (KeeperException.NoNodeException e) {
return Collections.emptyList();
} catch (KeeperException | InterruptedException e1) {
+ if (e1 instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException(e1);
}
@@ -587,6 +595,9 @@ public class ZooStore<T> implements TStore<T> {
// children changed so start over
continue outer;
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException(e);
}
}
diff --git
a/core/src/main/java/org/apache/accumulo/core/fate/zookeeper/ServiceLock.java
b/core/src/main/java/org/apache/accumulo/core/fate/zookeeper/ServiceLock.java
index 14af3daa25..95ff12ce0c 100644
---
a/core/src/main/java/org/apache/accumulo/core/fate/zookeeper/ServiceLock.java
+++
b/core/src/main/java/org/apache/accumulo/core/fate/zookeeper/ServiceLock.java
@@ -414,6 +414,9 @@ public class ServiceLock implements Watcher {
LOG.debug("[{}] Renewed watch on prior node {}",
vmLockPrefix, nodeToWatch);
}
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
lw.failedToAcquireLock(
new Exception("Failed to renew watch on prior node: " +
nodeToWatch, e));
}
@@ -575,6 +578,9 @@ public class ServiceLock implements Watcher {
determineLockOwnership(lw);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
lw.failedToAcquireLock(e);
}
}
@@ -915,6 +921,9 @@ public class ServiceLock implements Watcher {
try {
return null != this.zooKeeper.exists(lockPath, false);
} catch (KeeperException | InterruptedException | RuntimeException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
LOG.error("Error verfiying lock at {}", lockPath, e);
return false;
}
diff --git
a/core/src/main/java/org/apache/accumulo/core/fate/zookeeper/ServiceLockSupport.java
b/core/src/main/java/org/apache/accumulo/core/fate/zookeeper/ServiceLockSupport.java
index 8bc892f7b1..cc0701f177 100644
---
a/core/src/main/java/org/apache/accumulo/core/fate/zookeeper/ServiceLockSupport.java
+++
b/core/src/main/java/org/apache/accumulo/core/fate/zookeeper/ServiceLockSupport.java
@@ -103,7 +103,7 @@ public class ServiceLockSupport {
LOG.info("{} lock held by someone else, waiting for a change in
state", serviceName);
wait();
} catch (InterruptedException e) {
- // empty
+ Thread.currentThread().interrupt();
}
}
}
diff --git
a/core/src/main/java/org/apache/accumulo/core/fate/zookeeper/ZooCache.java
b/core/src/main/java/org/apache/accumulo/core/fate/zookeeper/ZooCache.java
index 1c380de231..714bbb17c7 100644
--- a/core/src/main/java/org/apache/accumulo/core/fate/zookeeper/ZooCache.java
+++ b/core/src/main/java/org/apache/accumulo/core/fate/zookeeper/ZooCache.java
@@ -263,6 +263,7 @@ public class ZooCache {
log.warn("Zookeeper error, will retry", e);
}
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.info("Zookeeper error, will retry", e);
} catch (ConcurrentModificationException e) {
log.debug("Zookeeper was modified, will retry");
@@ -272,6 +273,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);
}
LockSupport.parkNanos(sleepTime);
diff --git
a/core/src/main/java/org/apache/accumulo/core/fate/zookeeper/ZooSession.java
b/core/src/main/java/org/apache/accumulo/core/fate/zookeeper/ZooSession.java
index 00db63999c..7b7faf60f2 100644
--- a/core/src/main/java/org/apache/accumulo/core/fate/zookeeper/ZooSession.java
+++ b/core/src/main/java/org/apache/accumulo/core/fate/zookeeper/ZooSession.java
@@ -148,6 +148,7 @@ public class ZooSession {
zooKeeper.close();
zooKeeper = null;
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.warn("interrupted", e);
}
}
diff --git
a/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/lru/LruBlockCache.java
b/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/lru/LruBlockCache.java
index dc85350405..eaebdfcd54 100644
---
a/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/lru/LruBlockCache.java
+++
b/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/lru/LruBlockCache.java
@@ -154,6 +154,7 @@ public class LruBlockCache extends
SynchronousLoadingBlockCache implements Block
try {
Thread.sleep(10);
} catch (InterruptedException ex) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(ex);
}
}
@@ -533,7 +534,7 @@ public class LruBlockCache extends
SynchronousLoadingBlockCache implements Block
try {
this.wait();
} catch (InterruptedException e) {
- // empty
+ Thread.currentThread().interrupt();
}
}
LruBlockCache cache = this.cache.get();
diff --git
a/core/src/main/java/org/apache/accumulo/core/metadata/schema/TabletsMetadata.java
b/core/src/main/java/org/apache/accumulo/core/metadata/schema/TabletsMetadata.java
index 41189e8d66..6cff9ae59f 100644
---
a/core/src/main/java/org/apache/accumulo/core/metadata/schema/TabletsMetadata.java
+++
b/core/src/main/java/org/apache/accumulo/core/metadata/schema/TabletsMetadata.java
@@ -557,6 +557,9 @@ public class TabletsMetadata implements
Iterable<TabletMetadata>, AutoCloseable
byte[] bytes = zooReader.getData(path);
return new RootTabletMetadata(new String(bytes,
UTF_8)).toTabletMetadata();
} catch (InterruptedException | KeeperException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException(e);
}
default:
diff --git
a/core/src/main/java/org/apache/accumulo/core/rpc/UGIAssumingTransport.java
b/core/src/main/java/org/apache/accumulo/core/rpc/UGIAssumingTransport.java
index 913cd19109..953e909588 100644
--- a/core/src/main/java/org/apache/accumulo/core/rpc/UGIAssumingTransport.java
+++ b/core/src/main/java/org/apache/accumulo/core/rpc/UGIAssumingTransport.java
@@ -57,6 +57,9 @@ public class UGIAssumingTransport extends FilterTransport {
return null;
});
} catch (IOException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException(e);
}
diff --git
a/core/src/main/java/org/apache/accumulo/core/rpc/clients/ReplicationCoordinatorThriftClient.java
b/core/src/main/java/org/apache/accumulo/core/rpc/clients/ReplicationCoordinatorThriftClient.java
index da6457d0ae..64733db3a8 100644
---
a/core/src/main/java/org/apache/accumulo/core/rpc/clients/ReplicationCoordinatorThriftClient.java
+++
b/core/src/main/java/org/apache/accumulo/core/rpc/clients/ReplicationCoordinatorThriftClient.java
@@ -75,6 +75,9 @@ public class ReplicationCoordinatorThriftClient extends
ThriftClientTypes<Client
ZooReader reader = context.getZooReader();
replCoordinatorAddr = new String(reader.getData(zkPath), UTF_8);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
LOG.error("Could not fetch remote coordinator port", e);
return null;
}
@@ -109,6 +112,7 @@ public class ReplicationCoordinatorThriftClient extends
ThriftClientTypes<Client
try {
Thread.sleep(attempts * 250L);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
}
@@ -130,6 +134,7 @@ public class ReplicationCoordinatorThriftClient extends
ThriftClientTypes<Client
try {
Thread.sleep(100);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new AccumuloException(e);
}
} catch (ThriftSecurityException e) {
diff --git a/core/src/main/java/org/apache/accumulo/core/util/CleanUp.java
b/core/src/main/java/org/apache/accumulo/core/util/CleanUp.java
index 0324a3bb1d..c983f1c315 100644
--- a/core/src/main/java/org/apache/accumulo/core/util/CleanUp.java
+++ b/core/src/main/java/org/apache/accumulo/core/util/CleanUp.java
@@ -77,6 +77,7 @@ public class CleanUp {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("{}", e.getMessage(), e);
}
}
diff --git
a/core/src/main/java/org/apache/accumulo/core/util/UtilWaitThread.java
b/core/src/main/java/org/apache/accumulo/core/util/UtilWaitThread.java
index a05e1d265b..08af3a867c 100644
--- a/core/src/main/java/org/apache/accumulo/core/util/UtilWaitThread.java
+++ b/core/src/main/java/org/apache/accumulo/core/util/UtilWaitThread.java
@@ -32,6 +32,7 @@ public class UtilWaitThread {
try {
Thread.sleep(millis);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("{}", e.getMessage(), e);
}
}
@@ -57,6 +58,7 @@ public class UtilWaitThread {
NANOSECONDS.sleep(remainingNanos);
return;
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
interrupted = true;
remainingNanos = end - System.nanoTime();
}
diff --git
a/core/src/main/java/org/apache/accumulo/core/util/compaction/ExternalCompactionUtil.java
b/core/src/main/java/org/apache/accumulo/core/util/compaction/ExternalCompactionUtil.java
index b3e4a99a7c..db6f4ac15a 100644
---
a/core/src/main/java/org/apache/accumulo/core/util/compaction/ExternalCompactionUtil.java
+++
b/core/src/main/java/org/apache/accumulo/core/util/compaction/ExternalCompactionUtil.java
@@ -244,6 +244,9 @@ public class ExternalCompactionUtil {
results.add(new RunningCompaction(job, compactorAddress,
rcf.getQueue()));
}
} catch (InterruptedException | ExecutionException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException(e);
}
});
@@ -272,6 +275,9 @@ public class ExternalCompactionUtil {
runningIds.add(ceid);
}
} catch (InterruptedException | ExecutionException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException(e);
}
});
diff --git
a/core/src/main/java/org/apache/accumulo/core/util/threads/ThreadPools.java
b/core/src/main/java/org/apache/accumulo/core/util/threads/ThreadPools.java
index 376a192ce3..98da4842f4 100644
--- a/core/src/main/java/org/apache/accumulo/core/util/threads/ThreadPools.java
+++ b/core/src/main/java/org/apache/accumulo/core/util/threads/ThreadPools.java
@@ -181,6 +181,7 @@ public class ThreadPools {
// the list of critical tasks
return true;
} catch (InterruptedException ie) {
+ Thread.currentThread().interrupt();
// current thread was interrupted waiting for get to return, which in
theory,
// shouldn't happen since the task is done.
LOG.info("Interrupted while waiting to check on scheduled background
task.");
diff --git a/core/src/test/java/org/apache/accumulo/core/data/TableIdTest.java
b/core/src/test/java/org/apache/accumulo/core/data/TableIdTest.java
index f7ce7cf6c1..7092be4f4b 100644
--- a/core/src/test/java/org/apache/accumulo/core/data/TableIdTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/data/TableIdTest.java
@@ -116,6 +116,7 @@ public class TableIdTest extends WithTestNames {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
fail("Thread interrupted while waiting for GC");
}
}
diff --git
a/core/src/test/java/org/apache/accumulo/core/file/rfile/MultiThreadedRFileTest.java
b/core/src/test/java/org/apache/accumulo/core/file/rfile/MultiThreadedRFileTest.java
index 1651b8031d..8bc20a1f93 100644
---
a/core/src/test/java/org/apache/accumulo/core/file/rfile/MultiThreadedRFileTest.java
+++
b/core/src/test/java/org/apache/accumulo/core/file/rfile/MultiThreadedRFileTest.java
@@ -257,6 +257,7 @@ public class MultiThreadedRFileTest {
try {
pool.awaitTermination(Long.MAX_VALUE, MILLISECONDS);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
e.printStackTrace();
}
}
diff --git
a/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java
b/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java
index b2333c32b7..9cbde8c842 100644
---
a/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java
+++
b/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java
@@ -239,6 +239,7 @@ public class MiniAccumuloRunner {
log.error("IOException attempting to stop Accumulo.", e);
return;
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("InterruptedException attempting to stop Accumulo.", e);
return;
}
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 4573199838..ba7b954564 100644
---
a/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterImpl.java
+++
b/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterImpl.java
@@ -542,6 +542,7 @@ public class MiniAccumuloClusterImpl implements
AccumuloCluster {
} catch (IOException e) {
log.error("IOException while attempting to stop the
MiniAccumuloCluster.", e);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("The stopping of MiniAccumuloCluster was interrupted.",
e);
}
}));
@@ -719,6 +720,9 @@ public class MiniAccumuloClusterImpl implements
AccumuloCluster {
(rc, path, ctx, name) -> log.warn("{}", path));
log.warn("******* END ZK DUMP ************");
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.error("Error dumping zk", e);
}
}
diff --git
a/minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterStartStopTest.java
b/minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterStartStopTest.java
index 549bb50e00..8d7d308452 100644
---
a/minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterStartStopTest.java
+++
b/minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterStartStopTest.java
@@ -55,6 +55,9 @@ public class MiniAccumuloClusterStartStopTest extends
WithTestNames {
try {
accumulo.stop();
} catch (IOException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.warn("Failure during tear down", e);
}
}
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/AbstractServer.java
b/server/base/src/main/java/org/apache/accumulo/server/AbstractServer.java
index 7d29d914d4..f3c8d58698 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/AbstractServer.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/AbstractServer.java
@@ -113,6 +113,9 @@ public abstract class AbstractServer
+ upgradePrepNode);
}
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException(
"Error checking for upgrade preparation node (" + upgradePrepNode +
") in zookeeper", e);
}
@@ -312,6 +315,7 @@ public abstract class AbstractServer
interval);
Thread.sleep(interval);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
if (serverThread.isAlive()) {
// throw an Error, which will cause this process to be
terminated
throw new Error("Sleep interrupted in ServiceLock
verification thread");
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/ServerContext.java
b/server/base/src/main/java/org/apache/accumulo/server/ServerContext.java
index 30543aac24..9f1a0f607d 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/ServerContext.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/ServerContext.java
@@ -316,6 +316,9 @@ public class ServerContext extends ClientContext {
getZooReaderWriter().getChildren(Constants.ZROOT);
break;
} catch (InterruptedException | KeeperException ex) {
+ if (ex instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.info("Waiting for accumulo to be initialized");
sleepUninterruptibly(1, SECONDS);
}
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/client/BulkImporter.java
b/server/base/src/main/java/org/apache/accumulo/server/client/BulkImporter.java
index 679941fafd..8d224b6b45 100644
---
a/server/base/src/main/java/org/apache/accumulo/server/client/BulkImporter.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/client/BulkImporter.java
@@ -165,6 +165,7 @@ public class BulkImporter {
try {
threadPool.awaitTermination(60, TimeUnit.SECONDS);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
}
@@ -420,6 +421,7 @@ public class BulkImporter {
try {
threadPool.awaitTermination(60, TimeUnit.SECONDS);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("Encountered InterruptedException while waiting for the
threadPool to terminate.",
e);
throw new RuntimeException(e);
@@ -568,6 +570,7 @@ public class BulkImporter {
try {
threadPool.awaitTermination(60, TimeUnit.SECONDS);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error(
"Encountered InterruptedException while waiting for the thread
pool to terminate.", e);
throw new RuntimeException(e);
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/compaction/RetryableThriftCall.java
b/server/base/src/main/java/org/apache/accumulo/server/compaction/RetryableThriftCall.java
index 020e436af6..dbaae7dbd7 100644
---
a/server/base/src/main/java/org/apache/accumulo/server/compaction/RetryableThriftCall.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/compaction/RetryableThriftCall.java
@@ -114,6 +114,7 @@ public class RetryableThriftCall<T> {
try {
this.retry.waitForNextAttempt(LOG, "making a thrift RPC");
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
LOG.error("Error waiting for next attempt: {}, retrying now.",
e.getMessage(), e);
}
} else {
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/conf/store/impl/ZooPropLoader.java
b/server/base/src/main/java/org/apache/accumulo/server/conf/store/impl/ZooPropLoader.java
index c5842e5b66..7c568424e9 100644
---
a/server/base/src/main/java/org/apache/accumulo/server/conf/store/impl/ZooPropLoader.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/conf/store/impl/ZooPropLoader.java
@@ -132,6 +132,9 @@ public class ZooPropLoader implements
CacheLoader<PropStoreKey<?>,VersionedPrope
log.trace("Updated value {}", updatedValue == null ? "null" :
updatedValue.print(true));
return updatedValue;
} catch (RuntimeException | KeeperException | InterruptedException ex) {
+ if (ex instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.warn("async exception occurred reading properties from ZooKeeper
for: {} returning null",
propCacheId, ex);
propStoreWatcher.signalZkChangeEvent(propCacheId);
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/conf/store/impl/ZooPropStore.java
b/server/base/src/main/java/org/apache/accumulo/server/conf/store/impl/ZooPropStore.java
index 6168e18d8c..e1931aba0b 100644
---
a/server/base/src/main/java/org/apache/accumulo/server/conf/store/impl/ZooPropStore.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/conf/store/impl/ZooPropStore.java
@@ -144,6 +144,9 @@ public class ZooPropStore implements PropStore,
PropChangeListener {
String path = propStoreKey.getPath();
zrw.putPrivatePersistentData(path, codec.toBytes(vProps),
ZooUtil.NodeExistsPolicy.FAIL);
} catch (IOException | KeeperException | InterruptedException ex) {
+ if (ex instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException("Failed to serialize properties for " +
propStoreKey, ex);
}
}
@@ -254,6 +257,9 @@ public class ZooPropStore implements PropStore,
PropChangeListener {
zrw.delete(path);
cache.remove(propStoreKey);
} catch (KeeperException | InterruptedException ex) {
+ if (ex instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException("Failed to delete properties for
propCacheId " + propStoreKey,
ex);
}
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/conf/util/ConfigPropertyUpgrader.java
b/server/base/src/main/java/org/apache/accumulo/server/conf/util/ConfigPropertyUpgrader.java
index b6400e5667..243cebc1cd 100644
---
a/server/base/src/main/java/org/apache/accumulo/server/conf/util/ConfigPropertyUpgrader.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/conf/util/ConfigPropertyUpgrader.java
@@ -115,6 +115,7 @@ public class ConfigPropertyUpgrader implements
KeywordExecutable {
throw new IllegalStateException(
"Failed to read namespaces from ZooKeeper for path: " +
zkPathNamespaceBase, ex);
} catch (InterruptedException ex) {
+ Thread.currentThread().interrupt();
throw new IllegalStateException(
"Interrupted reading namespaces from ZooKeeper for path: " +
zkPathNamespaceBase, ex);
}
@@ -136,6 +137,7 @@ public class ConfigPropertyUpgrader implements
KeywordExecutable {
throw new IllegalStateException(
"Failed to read tables from ZooKeeper for path: " + zkPathTableBase,
ex);
} catch (InterruptedException ex) {
+ Thread.currentThread().interrupt();
throw new IllegalStateException(
"Interrupted reading tables from ZooKeeper for path: " +
zkPathTableBase, ex);
}
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/conf/util/ZooPropEditor.java
b/server/base/src/main/java/org/apache/accumulo/server/conf/util/ZooPropEditor.java
index c8e9da32ea..59215f0a2b 100644
---
a/server/base/src/main/java/org/apache/accumulo/server/conf/util/ZooPropEditor.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/conf/util/ZooPropEditor.java
@@ -205,6 +205,9 @@ public class ZooPropEditor implements KeywordExecutable {
try {
return ZooPropStore.readFromZk(propKey, nullWatcher, zooReader);
} catch (IOException | KeeperException | InterruptedException ex) {
+ if (ex instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException(ex);
}
}
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/fs/VolumeManagerImpl.java
b/server/base/src/main/java/org/apache/accumulo/server/fs/VolumeManagerImpl.java
index 0fa7d7b7d3..0a0b612a43 100644
---
a/server/base/src/main/java/org/apache/accumulo/server/fs/VolumeManagerImpl.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/fs/VolumeManagerImpl.java
@@ -355,6 +355,9 @@ public class VolumeManagerImpl implements VolumeManager {
future.get();
}
} catch (InterruptedException | ExecutionException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IOException(e);
}
}
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 bd8d7d3fd5..0e4275db52 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
@@ -246,6 +246,9 @@ public class Initialize implements KeywordExecutable {
try {
return zoo.exists("/");
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
return false;
}
}
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 5a74a2d363..9f8ad0b04f 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
@@ -84,6 +84,9 @@ public class ZooKeeperInitializer {
"Failed to create default system props during initialization at:
{}" + sysPropPath);
}
} catch (IOException | KeeperException | InterruptedException ex) {
+ if (ex instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException("Failed to initialize configuration for
prop store", ex);
}
}
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/log/WalStateManager.java
b/server/base/src/main/java/org/apache/accumulo/server/log/WalStateManager.java
index 4ad40e0780..e76aa1182b 100644
---
a/server/base/src/main/java/org/apache/accumulo/server/log/WalStateManager.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/log/WalStateManager.java
@@ -110,6 +110,9 @@ public class WalStateManager {
checkedExistance = true;
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new WalMarkerException(e);
}
@@ -123,6 +126,9 @@ public class WalStateManager {
try {
zoo.putPersistentData(root() + "/" + tsi, data, NodeExistsPolicy.FAIL);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new WalMarkerException(e);
}
}
@@ -143,6 +149,9 @@ public class WalStateManager {
log.debug("Setting {} to {}", path.getName(), state);
zoo.putPersistentData(root() + "/" + tsi + "/" + path.getName(), data,
policy);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new WalMarkerException(e);
}
}
@@ -185,6 +194,9 @@ public class WalStateManager {
} catch (KeeperException.NoNodeException e) {
log.debug("{} has no wal entry in zookeeper, assuming no logs", tsi);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new WalMarkerException(e);
}
return result;
@@ -206,6 +218,9 @@ public class WalStateManager {
}
}
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new WalMarkerException(e);
}
return result;
@@ -217,6 +232,9 @@ public class WalStateManager {
String path = root() + "/" + instance + "/" + uuid;
return parse(zoo.getData(path));
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new WalMarkerException(e);
}
}
@@ -242,6 +260,9 @@ public class WalStateManager {
String path = root() + "/" + instance + "/" + uuid;
zoo.delete(path);
} catch (InterruptedException | KeeperException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new WalMarkerException(e);
}
}
@@ -252,6 +273,9 @@ public class WalStateManager {
try {
zoo.recursiveDelete(path, NodeMissingPolicy.FAIL);
} catch (InterruptedException | KeeperException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new WalMarkerException(e);
}
}
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/metadata/ServerAmpleImpl.java
b/server/base/src/main/java/org/apache/accumulo/server/metadata/ServerAmpleImpl.java
index b47a410396..e22645a65d 100644
---
a/server/base/src/main/java/org/apache/accumulo/server/metadata/ServerAmpleImpl.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/metadata/ServerAmpleImpl.java
@@ -257,6 +257,9 @@ public class ServerAmpleImpl extends AmpleImpl implements
Ample {
jsonBytes =
zooReader.getData(context.getZooKeeperRoot() +
RootTable.ZROOT_TABLET_GC_CANDIDATES);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException(e);
}
return new RootGcCandidates(new String(jsonBytes,
UTF_8)).sortedStream().iterator();
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/security/delegation/AuthenticationTokenKeyManager.java
b/server/base/src/main/java/org/apache/accumulo/server/security/delegation/AuthenticationTokenKeyManager.java
index 5348e3bb9b..c98c861ac5 100644
---
a/server/base/src/main/java/org/apache/accumulo/server/security/delegation/AuthenticationTokenKeyManager.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/security/delegation/AuthenticationTokenKeyManager.java
@@ -87,6 +87,7 @@ public class AuthenticationTokenKeyManager implements
Runnable {
try {
Thread.sleep(5000);
} catch (InterruptedException ie) {
+ Thread.currentThread().interrupt();
log.debug("Interrupted waiting for next update", ie);
}
}
@@ -119,6 +120,9 @@ public class AuthenticationTokenKeyManager implements
Runnable {
}
}
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.warn("Failed to fetch existing AuthenticationKeys from ZooKeeper");
}
}
@@ -161,6 +165,9 @@ public class AuthenticationTokenKeyManager implements
Runnable {
try {
keyDistributor.advertise(newKey);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.error("Failed to advertise AuthenticationKey in ZooKeeper.
Exiting.", e);
throw new RuntimeException(e);
}
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/security/delegation/AuthenticationTokenSecretManager.java
b/server/base/src/main/java/org/apache/accumulo/server/security/delegation/AuthenticationTokenSecretManager.java
index b88bebfd5f..c6ba813275 100644
---
a/server/base/src/main/java/org/apache/accumulo/server/security/delegation/AuthenticationTokenSecretManager.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/security/delegation/AuthenticationTokenSecretManager.java
@@ -257,6 +257,9 @@ public class AuthenticationTokenSecretManager extends
SecretManager<Authenticati
try {
keyDistributor.remove(key);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.error("Failed to remove AuthenticationKey from ZooKeeper.
Exiting", e);
throw new RuntimeException(e);
}
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/security/delegation/ZooAuthenticationKeyWatcher.java
b/server/base/src/main/java/org/apache/accumulo/server/security/delegation/ZooAuthenticationKeyWatcher.java
index abc060da49..a32d488b5e 100644
---
a/server/base/src/main/java/org/apache/accumulo/server/security/delegation/ZooAuthenticationKeyWatcher.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/security/delegation/ZooAuthenticationKeyWatcher.java
@@ -67,6 +67,9 @@ public class ZooAuthenticationKeyWatcher implements Watcher {
try {
updateAuthKeys();
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.error("Failed to update secret manager after ZooKeeper
reconnect; {}", event, e);
}
break;
@@ -95,6 +98,9 @@ public class ZooAuthenticationKeyWatcher implements Watcher {
processChildNode(event);
}
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.error("Failed to communicate with ZooKeeper processing {}", event,
e);
}
}
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/security/handler/KerberosAuthenticator.java
b/server/base/src/main/java/org/apache/accumulo/server/security/handler/KerberosAuthenticator.java
index 45104f3a78..f998f14883 100644
---
a/server/base/src/main/java/org/apache/accumulo/server/security/handler/KerberosAuthenticator.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/security/handler/KerberosAuthenticator.java
@@ -102,6 +102,9 @@ public class KerberosAuthenticator implements Authenticator
{
createUserNodeInZk(Base64.getEncoder().encodeToString(principalData));
}
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.error("Failed to initialize security", e);
throw new RuntimeException(e);
}
@@ -158,6 +161,7 @@ public class KerberosAuthenticator implements Authenticator
{
log.error("Failed to create user in ZooKeeper", e);
throw new AccumuloSecurityException(principal,
SecurityErrorCode.CONNECTION_ERROR, e);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("Interrupted trying to create node for user", e);
throw new RuntimeException(e);
}
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKAuthenticator.java
b/server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKAuthenticator.java
index 86fa5a0688..bdd41135b3 100644
---
a/server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKAuthenticator.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKAuthenticator.java
@@ -101,6 +101,9 @@ public final class ZKAuthenticator implements Authenticator
{
constructUser(principal, ZKSecurityTool.createPass(token));
}
} catch (KeeperException | AccumuloException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.error("{}", e.getMessage(), e);
throw new RuntimeException(e);
}
@@ -139,6 +142,7 @@ public final class ZKAuthenticator implements Authenticator
{
}
throw new AccumuloSecurityException(principal,
SecurityErrorCode.CONNECTION_ERROR, e);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("{}", e.getMessage(), e);
throw new RuntimeException(e);
} catch (AccumuloException e) {
@@ -156,6 +160,7 @@ public final class ZKAuthenticator implements Authenticator
{
NodeMissingPolicy.FAIL);
}
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("{}", e.getMessage(), e);
throw new RuntimeException(e);
} catch (KeeperException e) {
@@ -185,6 +190,7 @@ public final class ZKAuthenticator implements Authenticator
{
log.error("{}", e.getMessage(), e);
throw new AccumuloSecurityException(principal,
SecurityErrorCode.CONNECTION_ERROR, e);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("{}", e.getMessage(), e);
throw new RuntimeException(e);
} catch (AccumuloException e) {
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKAuthorizor.java
b/server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKAuthorizor.java
index e23b13e25e..8f964e1d4b 100644
---
a/server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKAuthorizor.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKAuthorizor.java
@@ -83,6 +83,9 @@ public class ZKAuthorizor implements Authorizor {
zoo.putPersistentData(ZKUserPath + "/" + rootuser + ZKUserAuths,
ZKSecurityTool.convertAuthorizations(Authorizations.EMPTY),
NodeExistsPolicy.FAIL);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.error("{}", e.getMessage(), e);
throw new RuntimeException(e);
}
@@ -97,6 +100,7 @@ public class ZKAuthorizor implements Authorizor {
log.error("{}", e.getMessage(), e);
throw new AccumuloSecurityException(user,
SecurityErrorCode.CONNECTION_ERROR, e);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("{}", e.getMessage(), e);
throw new RuntimeException(e);
}
@@ -111,6 +115,7 @@ public class ZKAuthorizor implements Authorizor {
zooCache.clear(ZKUserPath + "/" + user);
}
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("{}", e.getMessage(), e);
throw new RuntimeException(e);
} catch (KeeperException e) {
@@ -136,6 +141,7 @@ public class ZKAuthorizor implements Authorizor {
log.error("{}", e.getMessage(), e);
throw new AccumuloSecurityException(user,
SecurityErrorCode.CONNECTION_ERROR, e);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("{}", e.getMessage(), e);
throw new RuntimeException(e);
}
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKPermHandler.java
b/server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKPermHandler.java
index ea306f1516..96bb92079e 100644
---
a/server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKPermHandler.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/security/handler/ZKPermHandler.java
@@ -90,6 +90,7 @@ public class ZKPermHandler implements PermissionHandler {
// it's there, you don't have permission
return false;
} catch (InterruptedException ex) {
+ Thread.currentThread().interrupt();
log.warn("Unhandled InterruptedException, failing closed for table
permission check", e);
return false;
} catch (KeeperException ex) {
@@ -104,6 +105,7 @@ public class ZKPermHandler implements PermissionHandler {
log.warn("Unhandled KeeperException, failing closed for table permission
check", e);
return false;
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.warn("Unhandled InterruptedException, failing closed for table
permission check", e);
return false;
}
@@ -139,6 +141,7 @@ public class ZKPermHandler implements PermissionHandler {
// it's there, you don't have permission
return false;
} catch (InterruptedException ex) {
+ Thread.currentThread().interrupt();
log.warn("Unhandled InterruptedException, failing closed for
namespace permission check",
e);
return false;
@@ -154,6 +157,7 @@ public class ZKPermHandler implements PermissionHandler {
log.warn("Unhandled KeeperException, failing closed for table permission
check", e);
return false;
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.warn("Unhandled InterruptedException, failing closed for table
permission check", e);
return false;
}
@@ -197,6 +201,7 @@ public class ZKPermHandler implements PermissionHandler {
log.error("{}", e.getMessage(), e);
throw new AccumuloSecurityException(user,
SecurityErrorCode.CONNECTION_ERROR, e);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("{}", e.getMessage(), e);
throw new RuntimeException(e);
}
@@ -225,6 +230,7 @@ public class ZKPermHandler implements PermissionHandler {
log.error("{}", e.getMessage(), e);
throw new AccumuloSecurityException(user,
SecurityErrorCode.CONNECTION_ERROR, e);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("{}", e.getMessage(), e);
throw new RuntimeException(e);
}
@@ -255,6 +261,7 @@ public class ZKPermHandler implements PermissionHandler {
log.error("{}", e.getMessage(), e);
throw new AccumuloSecurityException(user,
SecurityErrorCode.CONNECTION_ERROR, e);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("{}", e.getMessage(), e);
throw new RuntimeException(e);
}
@@ -284,6 +291,7 @@ public class ZKPermHandler implements PermissionHandler {
log.error("{}", e.getMessage(), e);
throw new AccumuloSecurityException(user,
SecurityErrorCode.CONNECTION_ERROR, e);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("{}", e.getMessage(), e);
throw new RuntimeException(e);
}
@@ -315,6 +323,7 @@ public class ZKPermHandler implements PermissionHandler {
log.error("{}", e.getMessage(), e);
throw new AccumuloSecurityException(user,
SecurityErrorCode.CONNECTION_ERROR, e);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("{}", e.getMessage(), e);
throw new RuntimeException(e);
}
@@ -349,6 +358,7 @@ public class ZKPermHandler implements PermissionHandler {
log.error("{}", e.getMessage(), e);
throw new AccumuloSecurityException(user,
SecurityErrorCode.CONNECTION_ERROR, e);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("{}", e.getMessage(), e);
throw new RuntimeException(e);
}
@@ -368,6 +378,7 @@ public class ZKPermHandler implements PermissionHandler {
log.error("{}", e.getMessage(), e);
throw new AccumuloSecurityException("unknownUser",
SecurityErrorCode.CONNECTION_ERROR, e);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("{}", e.getMessage(), e);
throw new RuntimeException(e);
}
@@ -387,6 +398,7 @@ public class ZKPermHandler implements PermissionHandler {
log.error("{}", e.getMessage(), e);
throw new AccumuloSecurityException("unknownUser",
SecurityErrorCode.CONNECTION_ERROR, e);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("{}", e.getMessage(), e);
throw new RuntimeException(e);
}
@@ -427,6 +439,9 @@ public class ZKPermHandler implements PermissionHandler {
createNamespacePerm(rootuser, entry.getKey(), entry.getValue());
}
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.error("{}", e.getMessage(), e);
throw new RuntimeException(e);
}
@@ -444,6 +459,7 @@ public class ZKPermHandler implements PermissionHandler {
log.error("{}", e.getMessage(), e);
throw new AccumuloSecurityException(user,
SecurityErrorCode.CONNECTION_ERROR, e);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("{}", e.getMessage(), e);
throw new RuntimeException(e);
}
@@ -485,6 +501,7 @@ public class ZKPermHandler implements PermissionHandler {
zooCache.clear(ZKUserPath + "/" + user);
}
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("{}", e.getMessage(), e);
throw new RuntimeException(e);
} catch (KeeperException e) {
@@ -511,6 +528,7 @@ public class ZKPermHandler implements PermissionHandler {
log.warn("Unhandled KeeperException, failing closed for table permission
check", e);
return false;
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.warn("Unhandled InterruptedException, failing closed for table
permission check", e);
return false;
}
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/util/AccumuloStatus.java
b/server/base/src/main/java/org/apache/accumulo/server/util/AccumuloStatus.java
index 3d0d1b9732..d01bdc002e 100644
---
a/server/base/src/main/java/org/apache/accumulo/server/util/AccumuloStatus.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/util/AccumuloStatus.java
@@ -49,6 +49,9 @@ public class AccumuloStatus {
return false;
}
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IOException("Issues contacting ZooKeeper to get Accumulo
status.", e);
}
return true;
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/util/UpgradeUtil.java
b/server/base/src/main/java/org/apache/accumulo/server/util/UpgradeUtil.java
index b4d6002a36..34356f6f50 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/util/UpgradeUtil.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/util/UpgradeUtil.java
@@ -146,6 +146,9 @@ public class UpgradeUtil implements KeywordExecutable {
zoo.delete(zUpgradepath);
}
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException("Error creating or checking for " +
zUpgradepath
+ " node in zookeeper: " + e.getMessage(), e);
}
@@ -159,6 +162,9 @@ public class UpgradeUtil implements KeywordExecutable {
"Manager is running, shut it down and retry this operation");
}
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException("Error trying to determine if Manager
lock is held", e);
}
@@ -174,6 +180,9 @@ public class UpgradeUtil implements KeywordExecutable {
+ " retry this operation.");
}
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException("Error checking for existing FATE
transactions", e);
}
@@ -182,6 +191,9 @@ public class UpgradeUtil implements KeywordExecutable {
try {
zoo.putPersistentData(zUpgradepath, new byte[0],
NodeExistsPolicy.SKIP);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException("Error creating " + zUpgradepath
+ " node in zookeeper. Check for any issues and retry.", 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 2869e8e2c2..1f73f59287 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
@@ -172,6 +172,9 @@ public class ZooZap implements KeywordExecutable {
try {
removeSingletonLock(zoo, managerLockPath, hostPortPredicate, opts);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.error("Error deleting manager lock", e);
}
}
@@ -182,6 +185,9 @@ public class ZooZap implements KeywordExecutable {
ServiceLock.deleteLock(zoo, gcLockPath,
ServerServices.Service.GC_CLIENT, hostPortPredicate,
m -> message(m, opts), opts.dryRun);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.error("Error deleting gc lock", e);
}
}
@@ -191,6 +197,9 @@ public class ZooZap implements KeywordExecutable {
try {
removeSingletonLock(zoo, monitorLockPath, hostPortPredicate, opts);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.error("Error deleting monitor lock", e);
}
}
@@ -212,6 +221,9 @@ public class ZooZap implements KeywordExecutable {
opts.dryRun);
}
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.error("Error deleting tserver locks", e);
}
}
@@ -230,6 +242,9 @@ public class ZooZap implements KeywordExecutable {
try {
removeSingletonLock(zoo, coordinatorPath, hostPortPredicate, opts);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.error("Error deleting coordinator from zookeeper", e);
}
}
@@ -240,6 +255,9 @@ public class ZooZap implements KeywordExecutable {
removeCompactorGroupedLocks(zoo, compactorsBasepath, groupPredicate,
hostPortPredicate,
opts);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.error("Error deleting compactors from zookeeper", e);
}
@@ -254,6 +272,9 @@ public class ZooZap implements KeywordExecutable {
removeScanServerGroupLocks(zoo, sserversPath, hostPortPredicate,
groupPredicate, opts);
}
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.error("Error deleting scan server locks", e);
}
}
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/zookeeper/DistributedWorkQueue.java
b/server/base/src/main/java/org/apache/accumulo/server/zookeeper/DistributedWorkQueue.java
index 968f45618c..d16948aed8 100644
---
a/server/base/src/main/java/org/apache/accumulo/server/zookeeper/DistributedWorkQueue.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/zookeeper/DistributedWorkQueue.java
@@ -157,6 +157,7 @@ public class DistributedWorkQueue {
} catch (KeeperException e) {
log.error("Failed to look for work", e);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.info("Interrupted looking for work", e);
}
}
@@ -219,6 +220,7 @@ public class DistributedWorkQueue {
} catch (KeeperException e) {
log.error("Failed to look for work at path {}; {}", path,
event, e);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.info("Interrupted looking for work at path {}; {}", path,
event, e);
}
} else {
@@ -246,6 +248,7 @@ public class DistributedWorkQueue {
} catch (KeeperException e) {
log.error("Failed to look for work", e);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.info("Interrupted looking for work", e);
}
}
diff --git
a/server/base/src/test/java/org/apache/accumulo/server/conf/store/impl/ReadyMonitorTest.java
b/server/base/src/test/java/org/apache/accumulo/server/conf/store/impl/ReadyMonitorTest.java
index 25a94c839c..f3f934a392 100644
---
a/server/base/src/test/java/org/apache/accumulo/server/conf/store/impl/ReadyMonitorTest.java
+++
b/server/base/src/test/java/org/apache/accumulo/server/conf/store/impl/ReadyMonitorTest.java
@@ -71,6 +71,7 @@ public class ReadyMonitorTest {
boolean terminated = workerPool.awaitTermination(2000, MILLISECONDS);
log.trace("Worked pool successfully terminated: {}", terminated);
} catch (InterruptedException ex) {
+ Thread.currentThread().interrupt();
// don't care.
workerPool.shutdownNow();
}
@@ -145,6 +146,9 @@ public class ReadyMonitorTest {
log.debug("waiting: {}", NANOSECONDS.toSeconds(timeWaiting));
assertTrue(timeWaiting < MILLISECONDS.toNanos(readyTestTimeout));
} catch (ExecutionException | InterruptedException ex) {
+ if (ex instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.warn("Task failed", ex);
fail("Task failed with exception - " + ex.getMessage());
}
diff --git
a/server/compaction-coordinator/src/main/java/org/apache/accumulo/coordinator/CompactionCoordinator.java
b/server/compaction-coordinator/src/main/java/org/apache/accumulo/coordinator/CompactionCoordinator.java
index dcbdc0e2de..a389ee6b0e 100644
---
a/server/compaction-coordinator/src/main/java/org/apache/accumulo/coordinator/CompactionCoordinator.java
+++
b/server/compaction-coordinator/src/main/java/org/apache/accumulo/coordinator/CompactionCoordinator.java
@@ -303,6 +303,7 @@ public class CompactionCoordinator extends AbstractServer
implements
try {
waitForUpgrade();
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
LOG.error("Interrupted while waiting for upgrade to complete,
exiting...");
System.exit(1);
}
@@ -319,6 +320,9 @@ public class CompactionCoordinator extends AbstractServer
implements
try {
getCoordinatorLock(clientAddress);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException("Exception getting Coordinator lock", e);
}
@@ -380,6 +384,7 @@ public class CompactionCoordinator extends AbstractServer
implements
Thread.sleep(checkInterval - duration);
}
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
LOG.info("Interrupt Exception received, shutting down");
gracefulShutdown(getContext().rpcCreds());
}
diff --git
a/server/compactor/src/main/java/org/apache/accumulo/compactor/Compactor.java
b/server/compactor/src/main/java/org/apache/accumulo/compactor/Compactor.java
index 65432852be..bc6d7e2bb7 100644
---
a/server/compactor/src/main/java/org/apache/accumulo/compactor/Compactor.java
+++
b/server/compactor/src/main/java/org/apache/accumulo/compactor/Compactor.java
@@ -812,6 +812,9 @@ public class Compactor extends AbstractServer
try {
announceExistence(clientAddress);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException("Error registering compactor in ZooKeeper",
e);
}
@@ -1012,6 +1015,7 @@ public class Compactor extends AbstractServer
}
}
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
LOG.info("Interrupt Exception received, shutting down");
gracefulShutdown(getContext().rpcCreds());
}
diff --git a/server/gc/src/main/java/org/apache/accumulo/gc/GCRun.java
b/server/gc/src/main/java/org/apache/accumulo/gc/GCRun.java
index 2a2261a8dd..bc1062224a 100644
--- a/server/gc/src/main/java/org/apache/accumulo/gc/GCRun.java
+++ b/server/gc/src/main/java/org/apache/accumulo/gc/GCRun.java
@@ -392,6 +392,7 @@ public class GCRun implements GarbageCollectionEnvironment {
}
}
} catch (InterruptedException e1) {
+ Thread.currentThread().interrupt();
log.error("{}", e1.getMessage(), e1);
}
diff --git
a/server/gc/src/main/java/org/apache/accumulo/gc/GarbageCollectWriteAheadLogs.java
b/server/gc/src/main/java/org/apache/accumulo/gc/GarbageCollectWriteAheadLogs.java
index 39aec22ca2..f0125f9069 100644
---
a/server/gc/src/main/java/org/apache/accumulo/gc/GarbageCollectWriteAheadLogs.java
+++
b/server/gc/src/main/java/org/apache/accumulo/gc/GarbageCollectWriteAheadLogs.java
@@ -314,6 +314,9 @@ public class GarbageCollectWriteAheadLogs {
iter.remove();
f.getValue().get();
} catch (InterruptedException | ExecutionException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException("Uncaught exception deleting wal
file" + f.getKey(), e);
}
}
@@ -354,6 +357,9 @@ public class GarbageCollectWriteAheadLogs {
iter.remove();
f.getValue().get();
} catch (InterruptedException | ExecutionException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException(
"Uncaught exception deleting recovery log file" +
f.getKey(), e);
}
diff --git
a/server/gc/src/main/java/org/apache/accumulo/gc/SimpleGarbageCollector.java
b/server/gc/src/main/java/org/apache/accumulo/gc/SimpleGarbageCollector.java
index 902642a6c0..81a6f6964c 100644
--- a/server/gc/src/main/java/org/apache/accumulo/gc/SimpleGarbageCollector.java
+++ b/server/gc/src/main/java/org/apache/accumulo/gc/SimpleGarbageCollector.java
@@ -156,6 +156,7 @@ public class SimpleGarbageCollector extends AbstractServer
try {
waitForUpgrade();
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
LOG.error("Interrupted while waiting for upgrade to complete,
exiting...");
System.exit(1);
}
@@ -186,6 +187,7 @@ public class SimpleGarbageCollector extends AbstractServer
log.debug("Sleeping for {} milliseconds before beginning garbage
collection cycles", delay);
Thread.sleep(delay);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.warn("{}", e.getMessage(), e);
return;
}
@@ -336,10 +338,12 @@ public class SimpleGarbageCollector extends AbstractServer
log.debug("Sleeping for {} milliseconds", gcDelay);
Thread.sleep(gcDelay);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.warn("{}", e.getMessage(), e);
throw e;
}
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.info("Interrupt Exception received, shutting down");
gracefulShutdown(getContext().rpcCreds());
}
diff --git
a/server/manager/src/main/java/org/apache/accumulo/manager/EventCoordinator.java
b/server/manager/src/main/java/org/apache/accumulo/manager/EventCoordinator.java
index 4145f58189..cda9d07ff9 100644
---
a/server/manager/src/main/java/org/apache/accumulo/manager/EventCoordinator.java
+++
b/server/manager/src/main/java/org/apache/accumulo/manager/EventCoordinator.java
@@ -36,6 +36,7 @@ public class EventCoordinator {
try {
wait(millis);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.debug("ignoring InterruptedException", 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 01399b8d1f..558d1eff11 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
@@ -810,7 +810,6 @@ public class Manager extends AbstractServer implements
LiveTServerSet.Listener,
} catch (KeeperException e) {
log.error("Exception trying to delete empty scan server ZNodes, will
retry", e);
} catch (InterruptedException e) {
- Thread.interrupted();
log.error("Interrupted trying to delete empty scan server ZNodes,
will retry", e);
} finally {
// sleep for 5 mins
@@ -1250,6 +1249,9 @@ public class Manager extends AbstractServer implements
LiveTServerSet.Listener,
tserverHaltRpcAttempts.remove(server);
badServers.remove(server);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.error("Failed to delete zlock for server {}", server, e);
}
} else {
@@ -1280,6 +1282,7 @@ public class Manager extends AbstractServer implements
LiveTServerSet.Listener,
try {
tp.awaitTermination(Math.max(10000, rpcTimeout / 3), MILLISECONDS);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.debug("Interrupted while fetching status");
}
@@ -1344,6 +1347,9 @@ public class Manager extends AbstractServer implements
LiveTServerSet.Listener,
try {
getManagerLock(ServiceLock.path(zroot + Constants.ZMANAGER_LOCK),
clientAddress);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException("Exception getting manager lock", e);
}
@@ -1390,6 +1396,9 @@ public class Manager extends AbstractServer implements
LiveTServerSet.Listener,
}
});
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException("Unable to read " + zroot +
Constants.ZRECOVERY, e);
}
@@ -1433,6 +1442,9 @@ public class Manager extends AbstractServer implements
LiveTServerSet.Listener,
upgradeMetadataFuture.get();
}
} catch (ExecutionException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException("Metadata upgrade failed", e);
}
@@ -1454,6 +1466,9 @@ public class Manager extends AbstractServer implements
LiveTServerSet.Listener,
ThreadPools.watchCriticalScheduledTask(context.getScheduledExecutor()
.scheduleWithFixedDelay(store::ageOff, 63000, 63000, MILLISECONDS));
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException("Exception setting up FaTE cleanup
thread", e);
}
@@ -1470,6 +1485,9 @@ public class Manager extends AbstractServer implements
LiveTServerSet.Listener,
try {
keyDistributor.initialize();
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException("Exception setting up delegation-token
key manager", e);
}
authenticationTokenKeyManagerThread = Threads
@@ -1493,6 +1511,9 @@ public class Manager extends AbstractServer implements
LiveTServerSet.Listener,
try {
managerLock.replaceLockData(address.getBytes(UTF_8));
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException("Exception updating manager lock", e);
}
@@ -1511,6 +1532,9 @@ public class Manager extends AbstractServer implements
LiveTServerSet.Listener,
replServer.set(setupReplication());
}
} catch (UnknownHostException | KeeperException | InterruptedException
e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.error("Error occurred starting replication services. ", e);
}
}, 0, 5000, MILLISECONDS);
@@ -1530,6 +1554,7 @@ public class Manager extends AbstractServer implements
LiveTServerSet.Listener,
try {
Thread.sleep(500);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.info("Interrupt Exception received, shutting down");
gracefulShutdown(context.rpcCreds());
}
@@ -1551,6 +1576,7 @@ public class Manager extends AbstractServer implements
LiveTServerSet.Listener,
replicationWorkThread.join(remaining(deadline));
}
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new IllegalStateException("Exception stopping replication
workers", e);
}
var nullableReplServer = replServer.get();
@@ -1566,6 +1592,7 @@ public class Manager extends AbstractServer implements
LiveTServerSet.Listener,
authenticationTokenKeyManagerThread.join(remaining(deadline));
}
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new IllegalStateException("Exception waiting on delegation-token
key manager", e);
}
}
@@ -1576,6 +1603,7 @@ public class Manager extends AbstractServer implements
LiveTServerSet.Listener,
try {
watcher.join(remaining(deadline));
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new IllegalStateException("Exception waiting on watcher", e);
}
}
@@ -1595,6 +1623,9 @@ public class Manager extends AbstractServer implements
LiveTServerSet.Listener,
org.apache.accumulo.server.replication.ZooKeeperInitialization
.ensureZooKeeperInitialized(zReaderWriter, zroot);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException("Exception while ensuring ZooKeeper is
initialized", e);
}
}
@@ -1921,6 +1952,7 @@ public class Manager extends AbstractServer implements
LiveTServerSet.Listener,
try {
balancedNotifier.wait();
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.debug(e.toString(), e);
}
} while (displayUnassigned() > 0 || !migrations.isEmpty()
diff --git
a/server/manager/src/main/java/org/apache/accumulo/manager/replication/ManagerReplicationCoordinator.java
b/server/manager/src/main/java/org/apache/accumulo/manager/replication/ManagerReplicationCoordinator.java
index 48aebf42db..c92699f1c5 100644
---
a/server/manager/src/main/java/org/apache/accumulo/manager/replication/ManagerReplicationCoordinator.java
+++
b/server/manager/src/main/java/org/apache/accumulo/manager/replication/ManagerReplicationCoordinator.java
@@ -87,6 +87,9 @@ public class ManagerReplicationCoordinator implements
ReplicationCoordinator.Ifa
replServiceAddr = new String(reader.getData(manager.getZooKeeperRoot()
+ ReplicationConstants.ZOO_TSERVERS + "/" + tserver.getHostPort()),
UTF_8);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.error("Could not fetch replication service port for tserver", e);
throw new ReplicationCoordinatorException(
ReplicationCoordinatorErrorCode.SERVICE_CONFIGURATION_UNAVAILABLE,
diff --git
a/server/manager/src/main/java/org/apache/accumulo/manager/replication/ReplicationDriver.java
b/server/manager/src/main/java/org/apache/accumulo/manager/replication/ReplicationDriver.java
index c1ee41be59..9c1f0ec004 100644
---
a/server/manager/src/main/java/org/apache/accumulo/manager/replication/ReplicationDriver.java
+++
b/server/manager/src/main/java/org/apache/accumulo/manager/replication/ReplicationDriver.java
@@ -123,6 +123,7 @@ public class ReplicationDriver implements Runnable {
try {
Thread.sleep(sleepMillis);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("Interrupted while sleeping", e);
}
}
diff --git
a/server/manager/src/main/java/org/apache/accumulo/manager/replication/SequentialWorkAssigner.java
b/server/manager/src/main/java/org/apache/accumulo/manager/replication/SequentialWorkAssigner.java
index 8ddf4d515d..79f07a8c5c 100644
---
a/server/manager/src/main/java/org/apache/accumulo/manager/replication/SequentialWorkAssigner.java
+++
b/server/manager/src/main/java/org/apache/accumulo/manager/replication/SequentialWorkAssigner.java
@@ -91,6 +91,9 @@ public class SequentialWorkAssigner extends
DistributedWorkQueueWorkAssigner {
try {
existingWork = workQueue.getWorkQueued();
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException("Error reading existing queued replication
work", e);
}
@@ -178,6 +181,9 @@ public class SequentialWorkAssigner extends
DistributedWorkQueueWorkAssigner {
workQueue.addWork(queueKey, path.toString());
workForPeer.put(target.getSourceTableId(), queueKey);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.warn("Could not queue work for {} to {}", path, target, e);
return false;
}
diff --git
a/server/manager/src/main/java/org/apache/accumulo/manager/replication/UnorderedWorkAssigner.java
b/server/manager/src/main/java/org/apache/accumulo/manager/replication/UnorderedWorkAssigner.java
index 0c905db228..11e0f54dbe 100644
---
a/server/manager/src/main/java/org/apache/accumulo/manager/replication/UnorderedWorkAssigner.java
+++
b/server/manager/src/main/java/org/apache/accumulo/manager/replication/UnorderedWorkAssigner.java
@@ -100,6 +100,7 @@ public class UnorderedWorkAssigner extends
DistributedWorkQueueWorkAssigner {
throw new RuntimeException("Error reading existing queued replication
work from ZooKeeper",
e);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("Error reading existing queued replication work from
ZooKeeper", e);
throw new RuntimeException("Error reading existing queued replication
work from ZooKeeper",
e);
@@ -126,6 +127,9 @@ public class UnorderedWorkAssigner extends
DistributedWorkQueueWorkAssigner {
workQueue.addWork(queueKey, path.toString());
queuedWork.add(queueKey);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.warn("Could not queue work for {}", path, e);
return false;
}
diff --git
a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/Utils.java
b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/Utils.java
index 766332df28..2c94674de2 100644
---
a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/Utils.java
+++
b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/Utils.java
@@ -92,6 +92,9 @@ public class Utils {
}
}
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.error("Error checking to see if tableId {} exists in ZooKeeper",
tableId, e);
throw new AcceptableThriftTableOperationException(null, tableName,
TableOperation.CREATE,
TableOperationExceptionType.OTHER, e.getMessage());
diff --git
a/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/RenameMasterDirInZK.java
b/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/RenameMasterDirInZK.java
index 3db373f45a..b0a240ef58 100644
---
a/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/RenameMasterDirInZK.java
+++
b/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/RenameMasterDirInZK.java
@@ -65,6 +65,9 @@ public class RenameMasterDirInZK {
}
return mastersDirExists;
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException("Unable to rename " + mastersZooDir + " in
ZooKeeper", e);
}
}
diff --git
a/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/Upgrader9to10.java
b/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/Upgrader9to10.java
index 6bf9e3292b..9250d3a9ca 100644
---
a/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/Upgrader9to10.java
+++
b/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/Upgrader9to10.java
@@ -176,6 +176,9 @@ public class Upgrader9to10 implements Upgrader {
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);
}
@@ -187,6 +190,9 @@ public class Upgrader9to10 implements Upgrader {
+ "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
" + rootPath, e);
}
}
@@ -245,6 +251,9 @@ public class Upgrader9to10 implements Upgrader {
context.getZooKeeperRoot() + Constants.ZSSERVERS, EMPTY_BYTE_ARRAY,
NodeExistsPolicy.SKIP);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException("Unable to create scan server paths", e);
}
}
@@ -263,6 +272,9 @@ public class Upgrader9to10 implements Upgrader {
context.getZooKeeperRoot() + Constants.ZCOMPACTORS, EMPTY_BYTE_ARRAY,
NodeExistsPolicy.SKIP);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException("Unable to create external compaction paths",
e);
}
}
@@ -315,6 +327,9 @@ public class Upgrader9to10 implements Upgrader {
context.getZooKeeperRoot() + ZROOT_TABLET_GC_CANDIDATES,
new RootGcCandidates().toJson().getBytes(UTF_8),
NodeExistsPolicy.SKIP);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException(e);
}
@@ -410,6 +425,9 @@ public class Upgrader9to10 implements Upgrader {
return result;
} catch (KeeperException | InterruptedException | IOException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException(e);
}
}
@@ -425,6 +443,9 @@ public class Upgrader9to10 implements Upgrader {
} catch (NoNodeException e) {
return null;
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException(e);
}
}
@@ -434,6 +455,9 @@ public class Upgrader9to10 implements Upgrader {
context.getZooReaderWriter().recursiveDelete(context.getZooKeeperRoot()
+ relpath,
NodeMissingPolicy.SKIP);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException(e);
}
}
diff --git
a/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
b/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
index 122d8c927d..d3558f7606 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
@@ -512,6 +512,9 @@ public class Monitor extends AbstractServer implements
HighlyAvailableService {
try {
monitorLock.replaceLockData(monitorHostAndPort.toString().getBytes(UTF_8));
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException("Exception updating monitor lock with
host and port", e);
}
@@ -558,6 +561,7 @@ public class Monitor extends AbstractServer implements
HighlyAvailableService {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
LOG.info("Interrupt Exception received, shutting down");
gracefulShutdown(context.rpcCreds());
}
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 53b121f08d..0748887eee 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
@@ -395,6 +395,7 @@ public class ScanServer extends AbstractServer
try {
waitForUpgrade();
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
LOG.error("Interrupted while waiting for upgrade to complete,
exiting...");
System.exit(1);
}
@@ -438,6 +439,7 @@ public class ScanServer extends AbstractServer
&& tabletMetadataCache.estimatedSize() == 0);
updateAllowedTables(false);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
LOG.info("Interrupt Exception received, shutting down");
gracefulShutdown(getContext().rpcCreds());
}
@@ -742,6 +744,7 @@ public class ScanServer extends AbstractServer
// file from the metadata table or the reservedFiles map
influxFiles.addAll(allFiles.keySet());
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
} finally {
reservationsWriteLock.unlock();
diff --git
a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
index 25ea527672..b6fc4695f4 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
@@ -728,6 +728,9 @@ public class TabletServer extends AbstractServer
org.apache.accumulo.server.replication.ZooKeeperInitialization.ensureZooKeeperInitialized(
getContext().getZooReaderWriter(), getContext().getZooKeeperRoot());
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException("Exception while ensuring ZooKeeper is
initialized", e);
}
}
@@ -746,6 +749,9 @@ public class TabletServer extends AbstractServer
try {
authKeyWatcher.updateAuthKeys();
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
// TODO Does there need to be a better check? What are the error
conditions that we'd fall
// out here? AUTH_FAILURE?
// If we get the error, do we just put it on a timer and retry the
exists(String, Watcher)
@@ -941,6 +947,7 @@ public class TabletServer extends AbstractServer
sleepUninterruptibly(1, TimeUnit.SECONDS);
}
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.info("Interrupt Exception received, shutting down");
gracefulShutdown(getContext().rpcCreds());
} catch (Exception e) {
diff --git
a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServerResourceManager.java
b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServerResourceManager.java
index 748d74705b..7b3ec10e86 100644
---
a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServerResourceManager.java
+++
b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServerResourceManager.java
@@ -525,6 +525,7 @@ public class TabletServerResourceManager {
}
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.warn("Interrupted processing tablet memory statistics", e);
}
}
@@ -632,7 +633,9 @@ public class TabletServerResourceManager {
throw new HoldTimeoutException("Commits are held");
}
commitHold.wait(1000);
- } catch (InterruptedException e) {}
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ }
}
}
}
diff --git
a/server/tserver/src/main/java/org/apache/accumulo/tserver/UnloadTabletHandler.java
b/server/tserver/src/main/java/org/apache/accumulo/tserver/UnloadTabletHandler.java
index d454d0d79c..2000f40b99 100644
---
a/server/tserver/src/main/java/org/apache/accumulo/tserver/UnloadTabletHandler.java
+++
b/server/tserver/src/main/java/org/apache/accumulo/tserver/UnloadTabletHandler.java
@@ -67,7 +67,9 @@ class UnloadTabletHandler implements Runnable {
try {
log.info("Waiting for tablet {} to finish opening before
unloading.", extent);
server.openingTablets.wait();
- } catch (InterruptedException e) {}
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ }
}
}
synchronized (server.onlineTablets) {
diff --git
a/server/tserver/src/main/java/org/apache/accumulo/tserver/WriteTracker.java
b/server/tserver/src/main/java/org/apache/accumulo/tserver/WriteTracker.java
index ba254a8544..2aeee58339 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/WriteTracker.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/WriteTracker.java
@@ -83,6 +83,7 @@ public class WriteTracker {
try {
this.wait();
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("{}", e.getMessage(), e);
}
}
diff --git
a/server/tserver/src/main/java/org/apache/accumulo/tserver/compactions/CompactionManager.java
b/server/tserver/src/main/java/org/apache/accumulo/tserver/compactions/CompactionManager.java
index 5d201e04fa..6e14324e47 100644
---
a/server/tserver/src/main/java/org/apache/accumulo/tserver/compactions/CompactionManager.java
+++
b/server/tserver/src/main/java/org/apache/accumulo/tserver/compactions/CompactionManager.java
@@ -171,6 +171,7 @@ public class CompactionManager {
try {
retry.waitForNextAttempt(log, "compaction initiation loop");
} catch (InterruptedException e1) {
+ Thread.currentThread().interrupt();
log.debug("Retry interrupted", e1);
}
}
diff --git
a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java
b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java
index 1971535b62..c404214bac 100644
---
a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java
+++
b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java
@@ -145,6 +145,7 @@ public class DfsLogger implements Comparable<DfsLogger> {
try {
work.add(workQueue.take());
} catch (InterruptedException ex) {
+ Thread.currentThread().interrupt();
continue;
}
workQueue.drainTo(work);
@@ -251,6 +252,7 @@ public class DfsLogger implements Comparable<DfsLogger> {
try {
work.latch.await();
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
@@ -539,6 +541,7 @@ public class DfsLogger implements Comparable<DfsLogger> {
try {
syncThread.join();
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(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 5cc5c26e56..7c7dc3e670 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
@@ -300,6 +300,7 @@ public class TabletServerLogger {
try {
nextLog.offer(t, 12, TimeUnit.HOURS);
} catch (InterruptedException ex) {
+ Thread.currentThread().interrupt();
// Throw an Error, not an Exception, so the
AccumuloUncaughtExceptionHandler
// will log this then halt the VM.
throw new Error("Next log maker thread interrupted", ex);
@@ -338,6 +339,7 @@ public class TabletServerLogger {
try {
nextLog.offer(t, 12, TimeUnit.HOURS);
} catch (InterruptedException ex) {
+ Thread.currentThread().interrupt();
// Throw an Error, not an Exception, so the
AccumuloUncaughtExceptionHandler
// will log this then halt the VM.
throw new Error("Next log maker thread interrupted", ex);
@@ -351,6 +353,7 @@ public class TabletServerLogger {
log.info("Our WAL was not used for 12 hours: {}", fileName);
}
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
// Throw an Error, not an Exception, so the
AccumuloUncaughtExceptionHandler
// will log this then halt the VM.
throw new Error("Next log maker thread interrupted", e);
diff --git
a/server/tserver/src/main/java/org/apache/accumulo/tserver/replication/ReplicationWorker.java
b/server/tserver/src/main/java/org/apache/accumulo/tserver/replication/ReplicationWorker.java
index cd733d4bae..5e3fa74adb 100644
---
a/server/tserver/src/main/java/org/apache/accumulo/tserver/replication/ReplicationWorker.java
+++
b/server/tserver/src/main/java/org/apache/accumulo/tserver/replication/ReplicationWorker.java
@@ -73,6 +73,9 @@ public class ReplicationWorker implements Runnable {
workQueue.startProcessing(new ReplicationProcessor(server.getContext()),
executor);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException(e);
}
}
diff --git
a/server/tserver/src/main/java/org/apache/accumulo/tserver/session/SessionManager.java
b/server/tserver/src/main/java/org/apache/accumulo/tserver/session/SessionManager.java
index 0726c1997c..01adc3cad0 100644
---
a/server/tserver/src/main/java/org/apache/accumulo/tserver/session/SessionManager.java
+++
b/server/tserver/src/main/java/org/apache/accumulo/tserver/session/SessionManager.java
@@ -139,6 +139,7 @@ public class SessionManager {
try {
session.wait(1000);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException();
}
}
diff --git
a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/CommitSession.java
b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/CommitSession.java
index 26dd6a1c8b..d838e0702e 100644
---
a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/CommitSession.java
+++
b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/CommitSession.java
@@ -73,6 +73,7 @@ public class CommitSession {
try {
committer.wait(50);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.warn("InterruptedException", e);
}
}
diff --git
a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/DatafileManager.java
b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/DatafileManager.java
index 255fcbdcfa..fd0b116d5d 100644
---
a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/DatafileManager.java
+++
b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/DatafileManager.java
@@ -209,6 +209,7 @@ class DatafileManager {
try {
tablet.wait(100);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.warn("{}", e.getMessage(), e);
}
}
diff --git
a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/MinorCompactor.java
b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/MinorCompactor.java
index 93f73dbd2e..aac2be3dd5 100644
---
a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/MinorCompactor.java
+++
b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/MinorCompactor.java
@@ -138,6 +138,9 @@ public class MinorCompactor extends FileCompactor {
reportedProblem = true;
retryCounter++;
} catch (CompactionCanceledException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException(e);
}
diff --git
a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Scanner.java
b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Scanner.java
index 9e2a7c7af0..37c1160ebf 100644
---
a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Scanner.java
+++
b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Scanner.java
@@ -103,6 +103,7 @@ public class Scanner {
// would not handle that well.
readInProgress = true;
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
sawException = true;
}
@@ -232,6 +233,7 @@ public class Scanner {
isolatedDataSource.close(false);
}
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
return false;
} finally {
if (obtainedLock) {
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 8798abde4c..32d21c1db5 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
@@ -719,6 +719,9 @@ public class Tablet extends TabletBase {
String id = new String(context.getZooReaderWriter().getData(zTablePath),
UTF_8);
return Long.parseLong(id);
} catch (InterruptedException | NumberFormatException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException("Exception on " + extent + " getting flush
ID", e);
} catch (KeeperException ke) {
if (ke instanceof NoNodeException) {
@@ -769,6 +772,9 @@ public class Tablet extends TabletBase {
return new Pair<>(compactID, overlappingConfig);
} catch (InterruptedException | DecoderException | NumberFormatException
e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException("Exception on " + extent + " getting
compaction ID", e);
} catch (KeeperException ke) {
if (ke instanceof NoNodeException) {
@@ -1024,6 +1030,7 @@ public class Tablet extends TabletBase {
try {
this.wait(50);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error(e.toString());
}
}
@@ -1093,6 +1100,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/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/TabletMemory.java
b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/TabletMemory.java
index f5b81ff8a7..3f0a384086 100644
---
a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/TabletMemory.java
+++
b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/TabletMemory.java
@@ -136,6 +136,7 @@ class TabletMemory implements Closeable {
try {
tablet.wait(50);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.warn("{}", e.getMessage(), e);
}
}
diff --git
a/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloReloadingVFSClassLoader.java
b/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloReloadingVFSClassLoader.java
index 4dccc077a3..22e576d492 100644
---
a/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloReloadingVFSClassLoader.java
+++
b/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloReloadingVFSClassLoader.java
@@ -102,6 +102,7 @@ public class AccumuloReloadingVFSClassLoader implements
FileListener, ReloadingC
currentSleepMillis = Math.min(maxWaitInterval,
currentSleepMillis + sleepInterval);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
log.error("VFS Retry Interrupted", e);
throw new RuntimeException(e);
}
@@ -135,6 +136,7 @@ public class AccumuloReloadingVFSClassLoader implements
FileListener, ReloadingC
try {
Thread.sleep(DEFAULT_TIMEOUT);
} catch (InterruptedException ie) {
+ Thread.currentThread().interrupt();
log.error("{}", ie.getMessage(), ie);
}
}
diff --git
a/test/src/main/java/org/apache/accumulo/test/BatchWriterIterator.java
b/test/src/main/java/org/apache/accumulo/test/BatchWriterIterator.java
index 2b009f909e..f74bc7fbd5 100644
--- a/test/src/main/java/org/apache/accumulo/test/BatchWriterIterator.java
+++ b/test/src/main/java/org/apache/accumulo/test/BatchWriterIterator.java
@@ -227,7 +227,9 @@ public class BatchWriterIterator extends WrappingIterator {
if (sleepAfterFirstWrite > 0) {
try {
Thread.sleep(sleepAfterFirstWrite);
- } catch (InterruptedException ignored) {}
+ } catch (InterruptedException ignored) {
+ Thread.currentThread().interrupt();
+ }
}
firstWrite = false;
}
diff --git
a/test/src/main/java/org/apache/accumulo/test/MultiTableRecoveryIT.java
b/test/src/main/java/org/apache/accumulo/test/MultiTableRecoveryIT.java
index 255676bd3e..c30f4d632e 100644
--- a/test/src/main/java/org/apache/accumulo/test/MultiTableRecoveryIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/MultiTableRecoveryIT.java
@@ -138,6 +138,9 @@ public class MultiTableRecoveryIT extends
ConfigurableMacBase {
}
System.out.println("Restarted " + i + " times");
} catch (IOException | InterruptedException | TableNotFoundException ex)
{
+ if (ex instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
log.error("{}", ex.getMessage(), ex);
}
});
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 0c03de99b0..c75f5c413f 100644
--- a/test/src/main/java/org/apache/accumulo/test/ScanConsistencyIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/ScanConsistencyIT.java
@@ -261,6 +261,7 @@ public class ScanConsistencyIT extends
AccumuloClusterHarness {
try {
wait(50);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
}
diff --git
a/test/src/main/java/org/apache/accumulo/test/ScanServerMultipleScansIT.java
b/test/src/main/java/org/apache/accumulo/test/ScanServerMultipleScansIT.java
index 6283037c80..50c7400a36 100644
--- a/test/src/main/java/org/apache/accumulo/test/ScanServerMultipleScansIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/ScanServerMultipleScansIT.java
@@ -131,6 +131,7 @@ public class ScanServerMultipleScansIT extends
SharedMiniClusterBase {
try {
latch.await();
} catch (InterruptedException e1) {
+ Thread.currentThread().interrupt();
fail("InterruptedException waiting for latch");
}
try (Scanner scanner = client.createScanner(tableName,
Authorizations.EMPTY)) {
@@ -199,6 +200,7 @@ public class ScanServerMultipleScansIT extends
SharedMiniClusterBase {
try {
latch.await();
} catch (InterruptedException e1) {
+ Thread.currentThread().interrupt();
fail("InterruptedException waiting for latch");
}
try (Scanner scanner = client.createScanner(tableName,
Authorizations.EMPTY)) {
@@ -254,6 +256,7 @@ public class ScanServerMultipleScansIT extends
SharedMiniClusterBase {
try {
latch.await();
} catch (InterruptedException e1) {
+ Thread.currentThread().interrupt();
fail("InterruptedException waiting for latch");
}
try (BatchScanner scanner = client.createBatchScanner(tableName,
Authorizations.EMPTY)) {
@@ -321,6 +324,7 @@ public class ScanServerMultipleScansIT extends
SharedMiniClusterBase {
try {
latch.await();
} catch (InterruptedException e1) {
+ Thread.currentThread().interrupt();
fail("InterruptedException waiting for latch");
}
try (BatchScanner scanner = client.createBatchScanner(tableName,
Authorizations.EMPTY)) {
diff --git a/test/src/main/java/org/apache/accumulo/test/ZombieScanIT.java
b/test/src/main/java/org/apache/accumulo/test/ZombieScanIT.java
index 8278805410..6edfffb834 100644
--- a/test/src/main/java/org/apache/accumulo/test/ZombieScanIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/ZombieScanIT.java
@@ -129,6 +129,7 @@ public class ZombieScanIT extends ConfigurableMacBase {
semaphore.acquire(6);
return ht;
} catch (InterruptedException ie) {
+ Thread.currentThread().interrupt();
throw new IllegalStateException(ie);
}
}
diff --git
a/test/src/main/java/org/apache/accumulo/test/ZooKeeperPropertiesIT.java
b/test/src/main/java/org/apache/accumulo/test/ZooKeeperPropertiesIT.java
index 99b120e9bf..fc6e2f9dd3 100644
--- a/test/src/main/java/org/apache/accumulo/test/ZooKeeperPropertiesIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/ZooKeeperPropertiesIT.java
@@ -81,6 +81,7 @@ public class ZooKeeperPropertiesIT extends
AccumuloClusterHarness {
try {
Thread.sleep(250);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
fail("Thread interrupted while waiting for tablePropUtil update");
}
properties = client.tableOperations().getConfiguration(tableName);
@@ -94,6 +95,7 @@ public class ZooKeeperPropertiesIT extends
AccumuloClusterHarness {
try {
Thread.sleep(250);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
fail("Thread interrupted while waiting for tablePropUtil update");
}
properties = client.tableOperations().getConfiguration(tableName);
@@ -134,6 +136,7 @@ public class ZooKeeperPropertiesIT extends
AccumuloClusterHarness {
try {
Thread.sleep(250);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
fail("Thread interrupted while waiting for namespacePropUtil
update");
}
properties = client.namespaceOperations().getConfiguration(namespace);
@@ -147,6 +150,7 @@ public class ZooKeeperPropertiesIT extends
AccumuloClusterHarness {
try {
Thread.sleep(250);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
fail("Thread interrupted while waiting for namespacePropUtil
update");
}
properties = client.namespaceOperations().getConfiguration(namespace);
diff --git
a/test/src/main/java/org/apache/accumulo/test/conf/store/PropCacheCaffeineImplZkIT.java
b/test/src/main/java/org/apache/accumulo/test/conf/store/PropCacheCaffeineImplZkIT.java
index 22d06b83a1..24be32b9c4 100644
---
a/test/src/main/java/org/apache/accumulo/test/conf/store/PropCacheCaffeineImplZkIT.java
+++
b/test/src/main/java/org/apache/accumulo/test/conf/store/PropCacheCaffeineImplZkIT.java
@@ -133,6 +133,9 @@ public class PropCacheCaffeineImplZkIT {
try {
ZKUtil.deleteRecursive(zooKeeper, "/accumulo");
} catch (KeeperException | InterruptedException ex) {
+ if (ex instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException("Failed to clean-up test zooKeeper
nodes.", ex);
}
}
diff --git
a/test/src/main/java/org/apache/accumulo/test/conf/store/PropStoreZooKeeperIT.java
b/test/src/main/java/org/apache/accumulo/test/conf/store/PropStoreZooKeeperIT.java
index 55c5b193ac..a20b241e4d 100644
---
a/test/src/main/java/org/apache/accumulo/test/conf/store/PropStoreZooKeeperIT.java
+++
b/test/src/main/java/org/apache/accumulo/test/conf/store/PropStoreZooKeeperIT.java
@@ -134,6 +134,9 @@ public class PropStoreZooKeeperIT {
try {
ZKUtil.deleteRecursive(zooKeeper, "/accumulo");
} catch (KeeperException | InterruptedException ex) {
+ if (ex instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException("Failed to clean-up test zooKeeper
nodes.", ex);
}
}
diff --git
a/test/src/main/java/org/apache/accumulo/test/conf/store/ZooBasedConfigIT.java
b/test/src/main/java/org/apache/accumulo/test/conf/store/ZooBasedConfigIT.java
index 2004d09af8..b884111b4f 100644
---
a/test/src/main/java/org/apache/accumulo/test/conf/store/ZooBasedConfigIT.java
+++
b/test/src/main/java/org/apache/accumulo/test/conf/store/ZooBasedConfigIT.java
@@ -173,6 +173,9 @@ public class ZooBasedConfigIT {
try {
ZKUtil.deleteRecursive(zooKeeper, "/accumulo");
} catch (KeeperException | InterruptedException ex) {
+ if (ex instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException("Failed to clean-up test zooKeeper
nodes.", ex);
}
verify(context);
diff --git
a/test/src/main/java/org/apache/accumulo/test/conf/util/ConfigTransformerIT.java
b/test/src/main/java/org/apache/accumulo/test/conf/util/ConfigTransformerIT.java
index a3a59ca992..ce2252a661 100644
---
a/test/src/main/java/org/apache/accumulo/test/conf/util/ConfigTransformerIT.java
+++
b/test/src/main/java/org/apache/accumulo/test/conf/util/ConfigTransformerIT.java
@@ -121,6 +121,9 @@ public class ConfigTransformerIT {
try {
ZKUtil.deleteRecursive(zooKeeper, Constants.ZROOT);
} catch (KeeperException | InterruptedException ex) {
+ if (ex instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException("Failed to clean-up test zooKeeper
nodes.", ex);
}
verify(context, watcher);
diff --git
a/test/src/main/java/org/apache/accumulo/test/fate/zookeeper/FateIT.java
b/test/src/main/java/org/apache/accumulo/test/fate/zookeeper/FateIT.java
index 6293ed601e..f636cdfc33 100644
--- a/test/src/main/java/org/apache/accumulo/test/fate/zookeeper/FateIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/fate/zookeeper/FateIT.java
@@ -570,6 +570,7 @@ public class FateIT {
// 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/functional/ConcurrentDeleteTableIT.java
b/test/src/main/java/org/apache/accumulo/test/functional/ConcurrentDeleteTableIT.java
index f1ab650525..b51bde66d4 100644
---
a/test/src/main/java/org/apache/accumulo/test/functional/ConcurrentDeleteTableIT.java
+++
b/test/src/main/java/org/apache/accumulo/test/functional/ConcurrentDeleteTableIT.java
@@ -94,6 +94,9 @@ public class ConcurrentDeleteTableIT extends
AccumuloClusterHarness {
} catch (TableNotFoundException e) {
// expected
} catch (InterruptedException | AccumuloException |
AccumuloSecurityException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException(e);
}
}));
@@ -149,6 +152,9 @@ public class ConcurrentDeleteTableIT extends
AccumuloClusterHarness {
} catch (TableNotFoundException | TableOfflineException e) {
// expected
} catch (InterruptedException | AccumuloException |
AccumuloSecurityException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException(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 6a910edb4a..724d291822 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
@@ -359,6 +359,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/functional/FunctionalTestUtils.java
b/test/src/main/java/org/apache/accumulo/test/functional/FunctionalTestUtils.java
index 75977c66e9..358333f7ee 100644
---
a/test/src/main/java/org/apache/accumulo/test/functional/FunctionalTestUtils.java
+++
b/test/src/main/java/org/apache/accumulo/test/functional/FunctionalTestUtils.java
@@ -222,6 +222,9 @@ public class FunctionalTestUtils {
var lockPath = ServiceLock.path(context.getZooKeeperRoot() +
Constants.ZTABLE_LOCKS);
return admin.getStatus(zs, zk, lockPath, null, null);
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new RuntimeException(e);
}
}
diff --git
a/test/src/main/java/org/apache/accumulo/test/functional/HalfDeadServerWatcherIT.java
b/test/src/main/java/org/apache/accumulo/test/functional/HalfDeadServerWatcherIT.java
index 355d3265ff..e4a63f476d 100644
---
a/test/src/main/java/org/apache/accumulo/test/functional/HalfDeadServerWatcherIT.java
+++
b/test/src/main/java/org/apache/accumulo/test/functional/HalfDeadServerWatcherIT.java
@@ -105,6 +105,9 @@ public class HalfDeadServerWatcherIT extends
AccumuloClusterHarness {
try {
this.getContext().getZooReaderWriter().exists(tableZPath, new
StuckWatcher());
} catch (KeeperException | InterruptedException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
LOG.error("Error setting watch at: {}", tableZPath, e);
}
LOG.info("Set StuckWatcher at: {}", tableZPath);
diff --git
a/test/src/main/java/org/apache/accumulo/test/functional/SlowIterator.java
b/test/src/main/java/org/apache/accumulo/test/functional/SlowIterator.java
index d9c8ddca12..1a22a7d662 100644
--- a/test/src/main/java/org/apache/accumulo/test/functional/SlowIterator.java
+++ b/test/src/main/java/org/apache/accumulo/test/functional/SlowIterator.java
@@ -62,6 +62,7 @@ public class SlowIterator extends WrappingIterator {
try {
Thread.sleep(sleepTime);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new IOException(e);
}
}
diff --git
a/test/src/main/java/org/apache/accumulo/test/replication/ReplicationOperationsImplIT.java
b/test/src/main/java/org/apache/accumulo/test/replication/ReplicationOperationsImplIT.java
index e84a137440..8e880c8d1e 100644
---
a/test/src/main/java/org/apache/accumulo/test/replication/ReplicationOperationsImplIT.java
+++
b/test/src/main/java/org/apache/accumulo/test/replication/ReplicationOperationsImplIT.java
@@ -200,6 +200,7 @@ public class ReplicationOperationsImplIT extends
ConfigurableMacBase {
try {
t.join(5000);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
fail("ReplicationOperations.drain did not complete");
}
@@ -284,6 +285,7 @@ public class ReplicationOperationsImplIT extends
ConfigurableMacBase {
try {
t.join(5000);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
fail("ReplicationOperations.drain did not complete");
}
@@ -362,6 +364,7 @@ public class ReplicationOperationsImplIT extends
ConfigurableMacBase {
try {
t.join(5000);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
fail("ReplicationOperations.drain did not complete");
}
@@ -445,6 +448,7 @@ public class ReplicationOperationsImplIT extends
ConfigurableMacBase {
try {
t.join(5000);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
fail("ReplicationOperations.drain did not complete");
}
diff --git
a/test/src/main/java/org/apache/accumulo/test/upgrade/ConfigPropertyUpgraderIT.java
b/test/src/main/java/org/apache/accumulo/test/upgrade/ConfigPropertyUpgraderIT.java
index 51f17f1c49..848cc53149 100644
---
a/test/src/main/java/org/apache/accumulo/test/upgrade/ConfigPropertyUpgraderIT.java
+++
b/test/src/main/java/org/apache/accumulo/test/upgrade/ConfigPropertyUpgraderIT.java
@@ -118,6 +118,9 @@ public class ConfigPropertyUpgraderIT {
try {
ZKUtil.deleteRecursive(zooKeeper, Constants.ZROOT);
} catch (KeeperException | InterruptedException ex) {
+ if (ex instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
throw new IllegalStateException("Failed to clean-up test zooKeeper
nodes.", ex);
}
}