Class EsExecutors
org.elasticsearch.common.util.concurrent.EsExecutors
public class EsExecutors
extends
-
Field Summary
Modifier and TypeFieldDescriptionstatic
that executes submitted tasks on the current thread.static >
Setting to manually control the number of allocated processors.static >
Setting to manually set the number of available processors. -
Method Summary
Modifier and TypeMethodDescriptionstatic int
allocatedProcessors(Settings settings)
Returns the number of allocated processors.static
namePrefix)
static
nodeName, namePrefix)
static
daemonThreadFactory(Settings settings, namePrefix)
static EsThreadPoolExecutor
name, int size, int initialQueueCapacity, int minQueueSize, int maxQueueSize, int frameSize, org.elasticsearch.core.TimeValue targetedResponseTime, threadFactory, ThreadContext contextHolder)
Return a new executor that will automatically adjust the queue size based on queue throughput.static EsThreadPoolExecutor
name, int size, int queueCapacity, threadFactory, ThreadContext contextHolder)
static EsThreadPoolExecutor
name, int min, int max, long keepAliveTime, unit, threadFactory, ThreadContext contextHolder)
name, threadFactory, ThreadContext contextHolder, timer)
static
runnable)
Checks if the runnable arose from asynchronous submission of a task to an executor.static
nodeName, namePrefix)
static
threadName(Settings settings, namePrefix)
Methods inherited from class java.lang.
, , , , , , , , , ,
-
Field Details
-
PROCESSORS_SETTING
public static final > PROCESSORS_SETTINGSetting to manually set the number of available processors. This setting is used to adjust thread pool sizes per node. -
NODE_PROCESSORS_SETTING
public static final > NODE_PROCESSORS_SETTINGSetting to manually control the number of allocated processors. This setting is used to adjust thread pool sizes per node. The default value is but should be manually controlled if not all processors on the machine are available to Elasticsearch (e.g., because of CPU limits). -
DIRECT_EXECUTOR_SERVICE
public static final DIRECT_EXECUTOR_SERVICEthat executes submitted tasks on the current thread. This executor service does not support being shutdown.
-
-
Method Details
-
allocatedProcessors
Returns the number of allocated processors. Defaults to but can be overridden by passing aSettings
instance with the keynode.processors
set to the desired value.- Parameters:
settings
- aSettings
instance from which to derive the allocated processors- Returns:
- the number of allocated processors
-
newSinglePrioritizing
public static name, threadFactory, ThreadContext contextHolder, timer) -
newScaling
public static name, int min, int max, long keepAliveTime, unit, threadFactory, ThreadContext contextHolder) -
newFixed
public static name, int size, int queueCapacity, threadFactory, ThreadContext contextHolder) -
newAutoQueueFixed
public static name, int size, int initialQueueCapacity, int minQueueSize, int maxQueueSize, int frameSize, org.elasticsearch.core.TimeValue targetedResponseTime, threadFactory, ThreadContext contextHolder)Return a new executor that will automatically adjust the queue size based on queue throughput.- Parameters:
size
- number of fixed threads to use for executing tasksinitialQueueCapacity
- initial size of the executor queueminQueueSize
- minimum queue size that the queue can be adjusted tomaxQueueSize
- maximum queue size that the queue can be adjusted toframeSize
- number of tasks during which stats are collected before adjusting queue size
-
rethrowErrors
public static rethrowErrors( runnable)Checks if the runnable arose from asynchronous submission of a task to an executor. If an uncaught exception was thrown during the execution of this task, we need to inspect this runnable and see if it is an error that should be propagated to the uncaught exception handler.- Parameters:
runnable
- the runnable to inspect, should be a RunnableFuture- Returns:
- non fatal exception or null if no exception.
-
threadName
-
threadName
public static threadName( nodeName, namePrefix) -
daemonThreadFactory
-
daemonThreadFactory
public static daemonThreadFactory( nodeName, namePrefix) -
daemonThreadFactory
public static daemonThreadFactory( namePrefix)
-