|
@@ -151,6 +151,8 @@ public class ThreadPool implements ReportingService<ThreadPoolInfo>, Scheduler {
|
|
|
entry(Names.SYSTEM_CRITICAL_WRITE, ThreadPoolType.FIXED)
|
|
|
);
|
|
|
|
|
|
+ public static final double searchAutoscalingEWMA = 0.1;
|
|
|
+
|
|
|
private final Map<String, ExecutorHolder> executors;
|
|
|
|
|
|
private final ThreadPoolInfo threadPoolInfo;
|
|
@@ -222,7 +224,13 @@ public class ThreadPool implements ReportingService<ThreadPoolInfo>, Scheduler {
|
|
|
builders.put(Names.ANALYZE, new FixedExecutorBuilder(settings, Names.ANALYZE, 1, 16, TaskTrackingConfig.DO_NOT_TRACK));
|
|
|
builders.put(
|
|
|
Names.SEARCH,
|
|
|
- new FixedExecutorBuilder(settings, Names.SEARCH, searchOrGetThreadPoolSize, 1000, TaskTrackingConfig.DEFAULT)
|
|
|
+ new FixedExecutorBuilder(
|
|
|
+ settings,
|
|
|
+ Names.SEARCH,
|
|
|
+ searchOrGetThreadPoolSize,
|
|
|
+ 1000,
|
|
|
+ new TaskTrackingConfig(true, searchAutoscalingEWMA)
|
|
|
+ )
|
|
|
);
|
|
|
builders.put(
|
|
|
Names.SEARCH_WORKER,
|
|
@@ -230,7 +238,13 @@ public class ThreadPool implements ReportingService<ThreadPoolInfo>, Scheduler {
|
|
|
);
|
|
|
builders.put(
|
|
|
Names.SEARCH_COORDINATION,
|
|
|
- new FixedExecutorBuilder(settings, Names.SEARCH_COORDINATION, halfProc, 1000, TaskTrackingConfig.DEFAULT)
|
|
|
+ new FixedExecutorBuilder(
|
|
|
+ settings,
|
|
|
+ Names.SEARCH_COORDINATION,
|
|
|
+ halfProc,
|
|
|
+ 1000,
|
|
|
+ new TaskTrackingConfig(true, searchAutoscalingEWMA)
|
|
|
+ )
|
|
|
);
|
|
|
builders.put(
|
|
|
Names.AUTO_COMPLETE,
|