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