@Override protected void processTasks(ListTasksRequest request, Consumer<Task> operation) { if (request.getWaitForCompletion()) { long timeoutNanos = waitForCompletionTimeout(request.getTimeout()); operation = operation.andThen(task -> { if (task.getAction().startsWith(ListTasksAction.NAME)) { // It doesn't make sense to wait for List Tasks and it can cause an infinite loop of the task waiting // for itself or one of its child tasks return; } taskManager.waitForTaskCompletion(task, timeoutNanos); }); } super.processTasks(request, operation); }
@Override protected void doRun() throws Exception { taskManager.waitForTaskCompletion(runningTask, waitForCompletionTimeout(request.getTimeout())); waitedForCompletion(thisTask, request, runningTask.taskInfo(clusterService.localNode().getId(), true), listener); }
@Override public void waitForTaskCompletion(Task task, long untilInNanos) { for (MockTaskManagerListener listener : listeners) { try { listener.waitForTaskCompletion(task); } catch (Exception e) { logger.warn( (Supplier<?>) () -> new ParameterizedMessage( "failed to notify task manager listener about waitForTaskCompletion the task with id {}", task.getId()), e); } } super.waitForTaskCompletion(task, untilInNanos); }
@Override protected void processTasks(ListTasksRequest request, Consumer<Task> operation) { if (request.getWaitForCompletion()) { long timeoutNanos = waitForCompletionTimeout(request.getTimeout()); operation = operation.andThen(task -> { if (task.getAction().startsWith(ListTasksAction.NAME)) { // It doesn't make sense to wait for List Tasks and it can cause an infinite loop of the task waiting // for itself or one of its child tasks return; } taskManager.waitForTaskCompletion(task, timeoutNanos); }); } super.processTasks(request, operation); }
@Override protected void processTasks(ListTasksRequest request, Consumer<Task> operation) { if (request.getWaitForCompletion()) { long timeoutNanos = waitForCompletionTimeout(request.getTimeout()); operation = operation.andThen(task -> { if (task.getAction().startsWith(ListTasksAction.NAME)) { // It doesn't make sense to wait for List Tasks and it can cause an infinite loop of the task waiting // for itself or one of its child tasks return; } taskManager.waitForTaskCompletion(task, timeoutNanos); }); } super.processTasks(request, operation); }
@Override protected void processTasks(ListTasksRequest request, Consumer<Task> operation) { if (request.getWaitForCompletion()) { long timeoutNanos = waitForCompletionTimeout(request.getTimeout()); operation = operation.andThen(task -> { if (task.getAction().startsWith(ListTasksAction.NAME)) { // It doesn't make sense to wait for List Tasks and it can cause an infinite loop of the task waiting // for itself or one of its child tasks return; } taskManager.waitForTaskCompletion(task, timeoutNanos); }); } super.processTasks(request, operation); }
@Override protected void doRun() throws Exception { taskManager.waitForTaskCompletion(runningTask, waitForCompletionTimeout(request.getTimeout())); waitedForCompletion(thisTask, request, runningTask.taskInfo(clusterService.localNode().getId(), true), listener); }
@Override protected void doRun() throws Exception { taskManager.waitForTaskCompletion(runningTask, waitForCompletionTimeout(request.getTimeout())); waitedForCompletion(thisTask, request, runningTask.taskInfo(clusterService.localNode().getId(), true), listener); }
@Override protected void doRun() throws Exception { taskManager.waitForTaskCompletion(runningTask, waitForCompletionTimeout(request.getTimeout())); waitedForCompletion(thisTask, request, runningTask.taskInfo(clusterService.localNode().getId(), true), listener); }