You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2023/06/25 07:22:53 UTC

[shardingsphere] branch master updated: Avoid using CopyOnWriteArrayList in DatabaseConnector (#26536)

This is an automated email from the ASF dual-hosted git repository.

zhaojinchao 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 15149f04a3e Avoid using CopyOnWriteArrayList in DatabaseConnector (#26536)
15149f04a3e is described below

commit 15149f04a3e49efe047b705736656b52cd840f47
Author: 吴伟杰 <wu...@apache.org>
AuthorDate: Sun Jun 25 15:22:47 2023 +0800

    Avoid using CopyOnWriteArrayList in DatabaseConnector (#26536)
    
    https://sonarcloud.io/project/issues?resolved=false&rules=java%3AS2250&id=apache_shardingsphere&open=AYg4ki7rjaR3HNxhP8-6
    https://sonarcloud.io/project/issues?resolved=false&rules=java%3AS2250&id=apache_shardingsphere&open=AYg4ki7rjaR3HNxhP8-7
---
 .../shardingsphere/proxy/backend/connector/DatabaseConnector.java   | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
index ee3a12740f5..9180650b4bb 100644
--- a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
+++ b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
@@ -85,7 +85,7 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
-import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * Database connector.
@@ -94,9 +94,9 @@ public final class DatabaseConnector implements DatabaseBackendHandler {
     
     private final ProxySQLExecutor proxySQLExecutor;
     
-    private final Collection<Statement> cachedStatements = new CopyOnWriteArrayList<>();
+    private final Collection<Statement> cachedStatements = Collections.newSetFromMap(new ConcurrentHashMap<>());
     
-    private final Collection<ResultSet> cachedResultSets = new CopyOnWriteArrayList<>();
+    private final Collection<ResultSet> cachedResultSets = Collections.newSetFromMap(new ConcurrentHashMap<>());
     
     private final String driverType;