[fix](stats) keep threads in pool alive to maintain reasonable parallelism (#30451)
This commit is contained in:
@ -73,7 +73,7 @@ public class ThreadPoolManager {
|
||||
|
||||
private static String[] poolMetricTypes = {"pool_size", "active_thread_num", "task_in_queue"};
|
||||
|
||||
private static final long KEEP_ALIVE_TIME = 60L;
|
||||
public static final long KEEP_ALIVE_TIME = 60L;
|
||||
|
||||
public static void registerAllThreadPoolMetric() {
|
||||
for (Map.Entry<String, ThreadPoolExecutor> entry : nameToThreadPoolMap.entrySet()) {
|
||||
|
||||
@ -40,6 +40,7 @@ import org.apache.doris.common.Config;
|
||||
import org.apache.doris.common.DdlException;
|
||||
import org.apache.doris.common.FeConstants;
|
||||
import org.apache.doris.common.FeMetaVersion;
|
||||
import org.apache.doris.common.ThreadPoolManager;
|
||||
import org.apache.doris.common.ThreadPoolManager.BlockedPolicy;
|
||||
import org.apache.doris.common.io.Text;
|
||||
import org.apache.doris.common.io.Writable;
|
||||
@ -645,7 +646,8 @@ public class AnalysisManager implements Writable {
|
||||
String poolName = "SYNC ANALYZE THREAD POOL";
|
||||
return new ThreadPoolExecutor(0,
|
||||
ConnectContext.get().getSessionVariable().parallelSyncAnalyzeTaskNum,
|
||||
0, TimeUnit.SECONDS,
|
||||
ThreadPoolManager.KEEP_ALIVE_TIME,
|
||||
TimeUnit.SECONDS,
|
||||
new LinkedBlockingQueue<>(),
|
||||
new ThreadFactoryBuilder().setDaemon(true).setNameFormat("SYNC ANALYZE" + "-%d")
|
||||
.build(), new BlockedPolicy(poolName,
|
||||
|
||||
Reference in New Issue
Block a user