Class TaskBatcher
- java.lang.Object
-
- org.elasticsearch.cluster.service.TaskBatcher
-
public abstract class TaskBatcher extends java.lang.Object
Batching support forPrioritizedEsThreadPoolExecutor
Tasks that share the same batching key are batched (seeTaskBatcher.BatchedTask.batchingKey
)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
TaskBatcher.BatchedTask
Represents a runnable task that supports batching.
-
Constructor Summary
Constructors Constructor Description TaskBatcher(org.apache.logging.log4j.Logger logger, PrioritizedEsThreadPoolExecutor threadExecutor)
-
Method Summary
Modifier and Type Method Description protected abstract void
onTimeout(java.util.List<? extends TaskBatcher.BatchedTask> tasks, TimeValue timeout)
Action to be implemented by the specific batching implementation.protected abstract void
run(java.lang.Object batchingKey, java.util.List<? extends TaskBatcher.BatchedTask> tasks, java.lang.String tasksSummary)
Action to be implemented by the specific batching implementation All tasks have the given batching key.void
submitTasks(java.util.List<? extends TaskBatcher.BatchedTask> tasks, TimeValue timeout)
-
-
-
Constructor Detail
-
TaskBatcher
public TaskBatcher(org.apache.logging.log4j.Logger logger, PrioritizedEsThreadPoolExecutor threadExecutor)
-
-
Method Detail
-
submitTasks
public void submitTasks(java.util.List<? extends TaskBatcher.BatchedTask> tasks, @Nullable TimeValue timeout) throws EsRejectedExecutionException
- Throws:
EsRejectedExecutionException
-
onTimeout
protected abstract void onTimeout(java.util.List<? extends TaskBatcher.BatchedTask> tasks, TimeValue timeout)
Action to be implemented by the specific batching implementation. All tasks have the same batching key.
-
run
protected abstract void run(java.lang.Object batchingKey, java.util.List<? extends TaskBatcher.BatchedTask> tasks, java.lang.String tasksSummary)
Action to be implemented by the specific batching implementation All tasks have the given batching key.
-
-