diff --git a/server/src/main/java/org/elasticsearch/cluster/service/MasterService.java b/server/src/main/java/org/elasticsearch/cluster/service/MasterService.java index 7d4c7fc410c87..2ea5e14639b29 100644 --- a/server/src/main/java/org/elasticsearch/cluster/service/MasterService.java +++ b/server/src/main/java/org/elasticsearch/cluster/service/MasterService.java @@ -1607,13 +1607,7 @@ public void submitTask(String source, T task, @Nullable TimeValue timeout) { } catch (Exception e) { assert e instanceof EsRejectedExecutionException esre && esre.isExecutorShutdown() : e; task.onFailure( - new FailedToCommitClusterStateException( - "could not schedule timeout handler for [%s][%s] on queue [%s]", - e, - source, - task, - name - ) + new NotMasterException("could not schedule timeout handler for [%s][%s] on queue [%s]", e, source, task, name) ); return; } diff --git a/server/src/test/java/org/elasticsearch/cluster/service/MasterServiceTests.java b/server/src/test/java/org/elasticsearch/cluster/service/MasterServiceTests.java index da8c013ef44c3..5badfd38654a7 100644 --- a/server/src/test/java/org/elasticsearch/cluster/service/MasterServiceTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/service/MasterServiceTests.java @@ -2249,7 +2249,7 @@ public void testTimeoutRejectionBehaviourAtSubmission() { ).submitTask(source, new ClusterStateTaskListener() { @Override public void onFailure(Exception e) { - if (e instanceof FailedToCommitClusterStateException + if (e instanceof NotMasterException && e.getMessage().startsWith("could not schedule timeout handler") && e.getCause() instanceof EsRejectedExecutionException esre && esre.isExecutorShutdown()