diff --git a/docs/changelog/86659.yaml b/docs/changelog/86659.yaml new file mode 100644 index 0000000000000..189ec5874a77e --- /dev/null +++ b/docs/changelog/86659.yaml @@ -0,0 +1,5 @@ +pr: 86659 +summary: Use `TaskCancelledException` in TMNA +area: Task Management +type: bug +issues: [] diff --git a/server/src/main/java/org/elasticsearch/action/support/master/TransportMasterNodeAction.java b/server/src/main/java/org/elasticsearch/action/support/master/TransportMasterNodeAction.java index b57e9f38e4ba0..2f0ef846324bc 100644 --- a/server/src/main/java/org/elasticsearch/action/support/master/TransportMasterNodeAction.java +++ b/server/src/main/java/org/elasticsearch/action/support/master/TransportMasterNodeAction.java @@ -36,13 +36,13 @@ import org.elasticsearch.node.NodeClosedException; import org.elasticsearch.tasks.CancellableTask; import org.elasticsearch.tasks.Task; +import org.elasticsearch.tasks.TaskCancelledException; import org.elasticsearch.threadpool.ThreadPool; import org.elasticsearch.transport.ConnectTransportException; import org.elasticsearch.transport.RemoteTransportException; import org.elasticsearch.transport.TransportException; import org.elasticsearch.transport.TransportService; -import java.util.concurrent.CancellationException; import java.util.function.Predicate; /** @@ -114,7 +114,7 @@ protected abstract void masterOperation(Task task, Request request, ClusterState private void executeMasterOperation(Task task, Request request, ClusterState state, ActionListener listener) throws Exception { if (task instanceof CancellableTask && ((CancellableTask) task).isCancelled()) { - throw new CancellationException("Task was cancelled"); + throw new TaskCancelledException("Task was cancelled"); } masterOperation(task, request, state, listener); @@ -168,7 +168,7 @@ class AsyncSingleAction { protected void doStart(ClusterState clusterState) { if (isTaskCancelled()) { - listener.onFailure(new CancellationException("Task was cancelled")); + listener.onFailure(new TaskCancelledException("Task was cancelled")); return; } try { diff --git a/server/src/test/java/org/elasticsearch/action/support/master/TransportMasterNodeActionTests.java b/server/src/test/java/org/elasticsearch/action/support/master/TransportMasterNodeActionTests.java index 02a505e6c05fd..9770b1c42dc0f 100644 --- a/server/src/test/java/org/elasticsearch/action/support/master/TransportMasterNodeActionTests.java +++ b/server/src/test/java/org/elasticsearch/action/support/master/TransportMasterNodeActionTests.java @@ -46,6 +46,7 @@ import org.elasticsearch.rest.RestStatus; import org.elasticsearch.tasks.CancellableTask; import org.elasticsearch.tasks.Task; +import org.elasticsearch.tasks.TaskCancelledException; import org.elasticsearch.tasks.TaskId; import org.elasticsearch.tasks.TaskManager; import org.elasticsearch.test.ESTestCase; @@ -65,7 +66,6 @@ import java.util.Map; import java.util.Objects; import java.util.Set; -import java.util.concurrent.CancellationException; import java.util.concurrent.CountDownLatch; import java.util.concurrent.CyclicBarrier; import java.util.concurrent.ExecutionException; @@ -594,7 +594,7 @@ protected ClusterBlockException checkBlock(Request request, ClusterState state) } setState(clusterService, newStateBuilder.build()); } - expectThrows(CancellationException.class, listener::actionGet); + expectThrows(TaskCancelledException.class, listener::actionGet); } public void testTaskCancellationOnceActionItIsDispatchedToMaster() throws Exception { @@ -621,7 +621,7 @@ public void testTaskCancellationOnceActionItIsDispatchedToMaster() throws Except releaseBlockedThreads.run(); - expectThrows(CancellationException.class, listener::actionGet); + expectThrows(TaskCancelledException.class, listener::actionGet); } public void testGlobalBlocksAreCheckedAfterIndexNotFoundException() throws Exception {