You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by pa...@apache.org on 2023/05/12 13:07:38 UTC
[shardingsphere] branch master updated: Fix sonar issue for Either re-interrupt this method or rethrow the "InterruptedException" that can be caught here (#25627)
This is an automated email from the ASF dual-hosted git repository.
panjuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 551478707f6 Fix sonar issue for Either re-interrupt this method or rethrow the "InterruptedException" that can be caught here (#25627)
551478707f6 is described below
commit 551478707f6358aaec02875203e59cf1846f41b6
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Fri May 12 21:07:26 2023 +0800
Fix sonar issue for Either re-interrupt this method or rethrow the "InterruptedException" that can be caught here (#25627)
---
.../infra/datasource/pool/destroyer/DataSourcePoolDestroyer.java | 1 +
.../schema/loader/metadata/SchemaMetaDataLoaderEngine.java | 4 +++-
.../shardingsphere/infra/executor/kernel/ExecutorEngine.java | 4 +++-
.../sql/process/lock/ProcessOperationLockRegistryTest.java | 1 +
.../pipeline/cdc/core/connector/SocketSinkImporterConnector.java | 1 +
.../consistency/SingleTableInventoryDataConsistencyChecker.java | 5 ++++-
.../shardingsphere/data/pipeline/core/job/AbstractPipelineJob.java | 1 +
.../data/pipeline/core/util/PipelineDistributedBarrier.java | 1 +
.../data/pipeline/core/execute/ExecuteEngineTest.java | 1 +
.../data/pipeline/mysql/ingest/client/MySQLClient.java | 7 ++++++-
.../process/subscriber/ProcessListChangedSubscriberTest.java | 2 ++
.../mode/repository/cluster/zookeeper/ZookeeperRepository.java | 4 +++-
.../cluster/zookeeper/listener/SessionConnectionListener.java | 3 +--
.../proxy/backend/connector/jdbc/connection/ResourceLockTest.java | 1 +
.../proxy/backend/hbase/context/HBaseRegionWarmUpContext.java | 1 +
.../java/org/apache/shardingsphere/proxy/frontend/CDCServer.java | 1 +
.../shardingsphere/test/e2e/env/container/atomic/ITContainers.java | 1 +
.../cases/commitrollback/ExceptionInTransactionTestCase.java | 1 +
18 files changed, 33 insertions(+), 7 deletions(-)
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/datasource/pool/destroyer/DataSourcePoolDestroyer.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/datasource/pool/destroyer/DataSourcePoolDestroyer.java
index 99e0960e93b..ac072878876 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/datasource/pool/destroyer/DataSourcePoolDestroyer.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/datasource/pool/destroyer/DataSourcePoolDestroyer.java
@@ -58,6 +58,7 @@ public final class DataSourcePoolDestroyer {
try {
Thread.sleep(10L);
} catch (final InterruptedException ignore) {
+ Thread.currentThread().interrupt();
}
}
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/metadata/SchemaMetaDataLoaderEngine.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/metadata/SchemaMetaDataLoaderEngine.java
index 5ec701aa63e..b6d5d34adfd 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/metadata/SchemaMetaDataLoaderEngine.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/metadata/SchemaMetaDataLoaderEngine.java
@@ -65,7 +65,9 @@ public final class SchemaMetaDataLoaderEngine {
for (Future<Collection<SchemaMetaData>> each : futures) {
mergeSchemaMetaDataMap(result, each.get());
}
- } catch (final InterruptedException | ExecutionException ex) {
+ } catch (final InterruptedException ex) {
+ Thread.currentThread().interrupt();
+ } catch (final ExecutionException ex) {
if (ex.getCause() instanceof SQLException) {
throw (SQLException) ex.getCause();
}
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/kernel/ExecutorEngine.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/kernel/ExecutorEngine.java
index 335169c48dc..23c8e88efb8 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/kernel/ExecutorEngine.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/kernel/ExecutorEngine.java
@@ -150,7 +150,9 @@ public final class ExecutorEngine implements AutoCloseable {
for (Future<Collection<O>> each : restFutures) {
try {
result.addAll(each.get());
- } catch (final InterruptedException | ExecutionException ex) {
+ } catch (final InterruptedException ex) {
+ Thread.currentThread().interrupt();
+ } catch (final ExecutionException ex) {
return throwException(ex);
}
}
diff --git a/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/lock/ProcessOperationLockRegistryTest.java b/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/lock/ProcessOperationLockRegistryTest.java
index e81f02a5a0e..fbcc62f08ff 100644
--- a/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/lock/ProcessOperationLockRegistryTest.java
+++ b/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/lock/ProcessOperationLockRegistryTest.java
@@ -36,6 +36,7 @@ class ProcessOperationLockRegistryTest {
try {
Thread.sleep(50L);
} catch (final InterruptedException ignored) {
+ Thread.currentThread().interrupt();
}
ProcessOperationLockRegistry.getInstance().notify(lockId);
});
diff --git a/kernel/data-pipeline/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/core/connector/SocketSinkImporterConnector.java b/kernel/data-pipeline/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/core/connector/SocketSinkImporterConnector.java
index 1fd48ecc6dc..5e74102ad42 100644
--- a/kernel/data-pipeline/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/core/connector/SocketSinkImporterConnector.java
+++ b/kernel/data-pipeline/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/core/connector/SocketSinkImporterConnector.java
@@ -152,6 +152,7 @@ public final class SocketSinkImporterConnector implements ImporterConnector, Aut
try {
condition.await(DEFAULT_TIMEOUT_MILLISECONDS, TimeUnit.MILLISECONDS);
} catch (final InterruptedException ignored) {
+ Thread.currentThread().interrupt();
} finally {
lock.unlock();
}
diff --git a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/check/consistency/SingleTableInventoryDataConsistencyChecker.java b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/check/consistency/SingleTableInventoryDataConsistencyChecker.java
index 6a36be7d52a..c87ce527f6d 100644
--- a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/check/consistency/SingleTableInventoryDataConsistencyChecker.java
+++ b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/check/consistency/SingleTableInventoryDataConsistencyChecker.java
@@ -155,7 +155,10 @@ public final class SingleTableInventoryDataConsistencyChecker {
private <T> T waitFuture(final Future<T> future) {
try {
return future.get();
- } catch (final InterruptedException | ExecutionException ex) {
+ } catch (final InterruptedException ex) {
+ Thread.currentThread().interrupt();
+ throw new SQLWrapperException(new SQLException(ex));
+ } catch (final ExecutionException ex) {
if (ex.getCause() instanceof PipelineSQLException) {
throw (PipelineSQLException) ex.getCause();
}
diff --git a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/AbstractPipelineJob.java b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/AbstractPipelineJob.java
index 129f06def41..cf6a41cb263 100644
--- a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/AbstractPipelineJob.java
+++ b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/AbstractPipelineJob.java
@@ -148,6 +148,7 @@ public abstract class AbstractPipelineJob implements PipelineJob {
try {
Thread.sleep(sleepTime);
} catch (final InterruptedException ignored) {
+ Thread.currentThread().interrupt();
break;
}
time += sleepTime;
diff --git a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/util/PipelineDistributedBarrier.java b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/util/PipelineDistributedBarrier.java
index b6067324786..70035e61e10 100644
--- a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/util/PipelineDistributedBarrier.java
+++ b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/util/PipelineDistributedBarrier.java
@@ -128,6 +128,7 @@ public final class PipelineDistributedBarrier {
}
return result;
} catch (final InterruptedException ignored) {
+ Thread.currentThread().interrupt();
}
return false;
}
diff --git a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/execute/ExecuteEngineTest.java b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/execute/ExecuteEngineTest.java
index e401829f4f1..89eb9fca42d 100644
--- a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/execute/ExecuteEngineTest.java
+++ b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/execute/ExecuteEngineTest.java
@@ -67,6 +67,7 @@ class ExecuteEngineTest {
// TODO assertTimeout
future.get();
} catch (final InterruptedException ex) {
+ Thread.currentThread().interrupt();
fail();
} catch (final ExecutionException ex) {
actualCause = ex.getCause();
diff --git a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/MySQLClient.java b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/MySQLClient.java
index 0558378c79e..a13e04f5b64 100644
--- a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/MySQLClient.java
+++ b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/MySQLClient.java
@@ -233,6 +233,7 @@ public final class MySQLClient {
try {
return blockingEventQueue.poll(100L, TimeUnit.MILLISECONDS);
} catch (final InterruptedException ignored) {
+ Thread.currentThread().interrupt();
return null;
}
}
@@ -251,7 +252,10 @@ public final class MySQLClient {
throw new PipelineInternalException(((MySQLErrPacket) response).getErrorMessage());
}
throw new PipelineInternalException("unexpected response type");
- } catch (final InterruptedException | ExecutionException | TimeoutException ex) {
+ } catch (final InterruptedException ex) {
+ Thread.currentThread().interrupt();
+ throw new PipelineInternalException(ex);
+ } catch (final ExecutionException | TimeoutException ex) {
throw new PipelineInternalException(ex);
}
}
@@ -270,6 +274,7 @@ public final class MySQLClient {
eventLoopGroup.shutdownGracefully();
}
} catch (final InterruptedException ex) {
+ Thread.currentThread().interrupt();
log.error("close channel interrupted", ex);
}
}
diff --git a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/process/subscriber/ProcessListChangedSubscriberTest.java b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/process/subscriber/ProcessListChangedSubscriberTest.java
index 8123bdcbefb..fcc010ba02d 100644
--- a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/process/subscriber/ProcessListChangedSubscriberTest.java
+++ b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/process/subscriber/ProcessListChangedSubscriberTest.java
@@ -126,6 +126,7 @@ class ProcessListChangedSubscriberTest {
try {
Thread.sleep(50L);
} catch (final InterruptedException ignored) {
+ Thread.currentThread().interrupt();
}
subscriber.completeToReportLocalProcesses(new ReportLocalProcessesCompletedEvent(taskId));
});
@@ -152,6 +153,7 @@ class ProcessListChangedSubscriberTest {
try {
Thread.sleep(50L);
} catch (final InterruptedException ignored) {
+ Thread.currentThread().interrupt();
}
subscriber.completeToKillLocalProcess(new KillLocalProcessCompletedEvent(processId));
});
diff --git a/mode/type/cluster/repository/provider/zookeeper/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepository.java b/mode/type/cluster/repository/provider/zookeeper/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepository.java
index 38c735c2ba9..57dbb3a3fa0 100644
--- a/mode/type/cluster/repository/provider/zookeeper/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepository.java
+++ b/mode/type/cluster/repository/provider/zookeeper/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepository.java
@@ -120,7 +120,9 @@ public final class ZookeeperRepository implements ClusterPersistRepository, Inst
client.close();
throw new OperationTimeoutException();
}
- } catch (final InterruptedException | OperationTimeoutException ex) {
+ } catch (final InterruptedException ex) {
+ Thread.currentThread().interrupt();
+ } catch (final OperationTimeoutException ex) {
ZookeeperExceptionHandler.handleException(ex);
}
}
diff --git a/mode/type/cluster/repository/provider/zookeeper/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/listener/SessionConnectionListener.java b/mode/type/cluster/repository/provider/zookeeper/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/listener/SessionConnectionListener.java
index db0faaad723..1cb08a94473 100644
--- a/mode/type/cluster/repository/provider/zookeeper/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/listener/SessionConnectionListener.java
+++ b/mode/type/cluster/repository/provider/zookeeper/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/listener/SessionConnectionListener.java
@@ -29,7 +29,6 @@ import org.apache.shardingsphere.infra.instance.InstanceContext;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import org.apache.shardingsphere.metadata.persist.node.ComputeNode;
import org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepository;
-import org.apache.shardingsphere.mode.repository.cluster.zookeeper.handler.ZookeeperExceptionHandler;
import java.util.Properties;
@@ -69,7 +68,7 @@ public final class SessionConnectionListener implements ConnectionStateListener
sleepInterval();
return false;
} catch (final InterruptedException ex) {
- ZookeeperExceptionHandler.handleException(ex);
+ Thread.currentThread().interrupt();
return true;
}
}
diff --git a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/connection/ResourceLockTest.java b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/connection/ResourceLockTest.java
index 0a6e274f4cd..1c333020c87 100644
--- a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/connection/ResourceLockTest.java
+++ b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/connection/ResourceLockTest.java
@@ -43,6 +43,7 @@ class ResourceLockTest {
try {
Thread.sleep(50L);
} catch (final InterruptedException ignored) {
+ Thread.currentThread().interrupt();
}
resourceLock.doNotify();
});
diff --git a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/context/HBaseRegionWarmUpContext.java b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/context/HBaseRegionWarmUpContext.java
index db96f40bc46..bc5afda592b 100644
--- a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/context/HBaseRegionWarmUpContext.java
+++ b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/context/HBaseRegionWarmUpContext.java
@@ -141,6 +141,7 @@ public final class HBaseRegionWarmUpContext {
try {
Thread.sleep(100L);
} catch (final InterruptedException ignore) {
+ Thread.currentThread().interrupt();
}
}
log.info(String.format("%s cluster end warm up, execute time: %dms, warm table: %d", clusterName, System.currentTimeMillis() - startWarmUpTime, executeCount.get()));
diff --git a/proxy/frontend/core/src/main/java/org/apache/shardingsphere/proxy/frontend/CDCServer.java b/proxy/frontend/core/src/main/java/org/apache/shardingsphere/proxy/frontend/CDCServer.java
index 342febb70b9..a435fa18d14 100644
--- a/proxy/frontend/core/src/main/java/org/apache/shardingsphere/proxy/frontend/CDCServer.java
+++ b/proxy/frontend/core/src/main/java/org/apache/shardingsphere/proxy/frontend/CDCServer.java
@@ -60,6 +60,7 @@ public final class CDCServer extends Thread {
each.channel().closeFuture().sync();
}
} catch (final InterruptedException ignored) {
+ Thread.currentThread().interrupt();
} finally {
close();
}
diff --git a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/ITContainers.java b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/ITContainers.java
index 84972850f1e..7371e609bb2 100644
--- a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/ITContainers.java
+++ b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/ITContainers.java
@@ -102,6 +102,7 @@ public final class ITContainers implements Startable {
try {
Thread.sleep(500L);
} catch (final InterruptedException ignored) {
+ Thread.currentThread().interrupt();
}
}
});
diff --git a/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/transaction/cases/commitrollback/ExceptionInTransactionTestCase.java b/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/transaction/cases/commitrollback/ExceptionInTransactionTestCase.java
index 940b2183fda..19b8271bddd 100644
--- a/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/transaction/cases/commitrollback/ExceptionInTransactionTestCase.java
+++ b/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/transaction/cases/commitrollback/ExceptionInTransactionTestCase.java
@@ -76,6 +76,7 @@ public final class ExceptionInTransactionTestCase extends BaseTransactionTestCas
try {
queryThread.join();
} catch (final InterruptedException ignored) {
+ Thread.currentThread().interrupt();
}
}
}