From d32030c0f9cc6bac02333a43f7244311937caccb Mon Sep 17 00:00:00 2001 From: vergil Date: Tue, 20 Oct 2020 22:15:37 +0800 Subject: [PATCH] [Bug] Because of thread-safety problem , replace connectionMap with concurrentMap from hashMap. Thread [Connect-Scheduler-Check-Timer] fail to iterate the connectionMap , because other threads will modify the connectionMap at the same time. --- .../src/main/java/org/apache/doris/qe/ConnectScheduler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectScheduler.java b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectScheduler.java index 411ef729e600ed..e7a034e3796eda 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectScheduler.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectScheduler.java @@ -46,7 +46,7 @@ public class ConnectScheduler { private int maxConnections; private int numberConnection; private AtomicInteger nextConnectionId; - private Map connectionMap = Maps.newHashMap(); + private Map connectionMap = Maps.newConcurrentMap(); private Map connByUser = Maps.newHashMap(); private ExecutorService executor = ThreadPoolManager.newDaemonCacheThreadPool(Config.max_connection_scheduler_threads_num, "connect-scheduler-pool", true);