Class ScalingExecutorBuilder

java.lang.Object
org.elasticsearch.threadpool.ExecutorBuilder<org.elasticsearch.threadpool.ScalingExecutorBuilder.ScalingExecutorSettings>
org.elasticsearch.threadpool.ScalingExecutorBuilder

public final class ScalingExecutorBuilder extends ExecutorBuilder<org.elasticsearch.threadpool.ScalingExecutorBuilder.ScalingExecutorSettings>
A builder for scaling executors. The build(org.elasticsearch.threadpool.ScalingExecutorBuilder.ScalingExecutorSettings, org.elasticsearch.common.util.concurrent.ThreadContext) method will instantiate a java ExecutorService thread pool that starts with the specified minimum number of threads and then scales up to the specified max number of threads as needed for excess work, scaling back when the burst of activity stops. As opposed to the FixedExecutorBuilder that keeps a fixed number of threads alive.
  • Constructor Details

    • ScalingExecutorBuilder

      public ScalingExecutorBuilder(String name, int core, int max, TimeValue keepAlive, boolean rejectAfterShutdown)
      Construct a scaling executor builder; the settings will have the key prefix "thread_pool." followed by the executor name.
      Parameters:
      name - the name of the executor
      core - the minimum number of threads in the pool
      max - the maximum number of threads in the pool
      keepAlive - the time that spare threads above core threads will be kept alive
      rejectAfterShutdown - set to true if the executor should reject tasks after shutdown
    • ScalingExecutorBuilder

      public ScalingExecutorBuilder(String name, int core, int max, TimeValue keepAlive, boolean rejectAfterShutdown, String prefix)
      Construct a scaling executor builder; the settings will have the specified key prefix.
      Parameters:
      name - the name of the executor
      core - the minimum number of threads in the pool
      max - the maximum number of threads in the pool
      keepAlive - the time that spare threads above core threads will be kept alive
      prefix - the prefix for the settings keys
      rejectAfterShutdown - set to true if the executor should reject tasks after shutdown
    • ScalingExecutorBuilder

      public ScalingExecutorBuilder(String name, int core, int max, TimeValue keepAlive, boolean rejectAfterShutdown, String prefix, EsExecutors.TaskTrackingConfig trackingConfig)
      Construct a scaling executor builder; the settings will have the specified key prefix.
      Parameters:
      name - the name of the executor
      core - the minimum number of threads in the pool
      max - the maximum number of threads in the pool
      keepAlive - the time that spare threads above core threads will be kept alive
      prefix - the prefix for the settings keys
      rejectAfterShutdown - set to true if the executor should reject tasks after shutdown
      trackingConfig - configuration that'll indicate if we should track statistics about task execution time
  • Method Details

    • getRegisteredSettings

      public List<Setting<?>> getRegisteredSettings()
      Description copied from class: ExecutorBuilder
      The list of settings this builder will register.
      Specified by:
      getRegisteredSettings in class ExecutorBuilder<org.elasticsearch.threadpool.ScalingExecutorBuilder.ScalingExecutorSettings>
      Returns:
      the list of registered settings