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

shuke987 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new c32e1987350 [fix](memory) fix ThreadPoolExecutor leak in 
PublishVersionDaemon  (#60720)
c32e1987350 is described below

commit c32e1987350046bea8bed31724765877a3ceaadb
Author: shuke <[email protected]>
AuthorDate: Fri Aug 21 20:41:13 2026 +0800

    [fix](memory) fix ThreadPoolExecutor leak in PublishVersionDaemon  (#60720)
    
    publishExecutors is a static field, but the constructor appends new
    thread pools on every invocation without checking if they already exist.
    
    The constructor is called each time a new Env instance is created, which
    happens periodically during Env checkpoint/journal replay (the
    checkpoint thread creates a new Env to replay the journal). Each call
    appends publish_thread_pool_num (default 128) pools to the static list,
    causing unbounded growth.
---
 fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
index d91596bac30..eab4bc65cb7 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
@@ -757,7 +757,9 @@ public class Env {
         this.lock = new MonitoredReentrantLock(true);
         this.backupHandler = new BackupHandler(this);
         this.metaDir = Config.meta_dir;
-        this.publishVersionDaemon = new PublishVersionDaemon();
+        if (!isCheckpointCatalog) {
+            this.publishVersionDaemon = new PublishVersionDaemon();
+        }
         this.deleteHandler = new DeleteHandler();
         this.dbUsedDataQuotaInfoCollector = new DbUsedDataQuotaInfoCollector();
         this.partitionInfoCollector = new PartitionInfoCollector();


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to