diff --git a/flink-cdc-connect/flink-cdc-source-connectors/flink-cdc-base/src/main/java/org/apache/flink/cdc/connectors/base/relational/connection/JdbcConnectionPools.java b/flink-cdc-connect/flink-cdc-source-connectors/flink-cdc-base/src/main/java/org/apache/flink/cdc/connectors/base/relational/connection/JdbcConnectionPools.java index 64a2a7288b0..625cb8db9ff 100644 --- a/flink-cdc-connect/flink-cdc-source-connectors/flink-cdc-base/src/main/java/org/apache/flink/cdc/connectors/base/relational/connection/JdbcConnectionPools.java +++ b/flink-cdc-connect/flink-cdc-source-connectors/flink-cdc-base/src/main/java/org/apache/flink/cdc/connectors/base/relational/connection/JdbcConnectionPools.java @@ -86,12 +86,10 @@ public String getJdbcUrl( } public void clear() throws IOException { - if (instance != null) { - synchronized (instance.pools) { - instance.pools.values().stream().forEach(HikariDataSource::close); - instance.pools.clear(); - POOL_FACTORY_MAP.clear(); - } + synchronized (pools) { + pools.values().stream().forEach(HikariDataSource::close); + pools.clear(); + POOL_FACTORY_MAP.clear(); } } } diff --git a/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/main/java/org/apache/flink/cdc/connectors/mysql/source/connection/JdbcConnectionPools.java b/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/main/java/org/apache/flink/cdc/connectors/mysql/source/connection/JdbcConnectionPools.java index c6404bf0e02..9505a559ad0 100644 --- a/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/main/java/org/apache/flink/cdc/connectors/mysql/source/connection/JdbcConnectionPools.java +++ b/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/main/java/org/apache/flink/cdc/connectors/mysql/source/connection/JdbcConnectionPools.java @@ -53,10 +53,10 @@ public HikariDataSource getOrCreateConnectionPool( } } - public synchronized void clear() throws IOException { - synchronized (INSTANCE.pools) { - INSTANCE.pools.values().stream().forEach(HikariDataSource::close); - INSTANCE.pools.clear(); + public void clear() throws IOException { + synchronized (pools) { + pools.values().stream().forEach(HikariDataSource::close); + pools.clear(); } } }