diff --git a/x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/support/BaseMlIntegTestCase.java b/x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/support/BaseMlIntegTestCase.java index c0414caf7f7..e68c9260e96 100644 --- a/x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/support/BaseMlIntegTestCase.java +++ b/x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/support/BaseMlIntegTestCase.java @@ -332,24 +332,24 @@ public abstract class BaseMlIntegTestCase extends ESIntegTestCase { try { CloseJobAction.Request closeRequest = new CloseJobAction.Request(MetaData.ALL); - closeRequest.setCloseTimeout(TimeValue.timeValueSeconds(30L)); + // This usually takes a lot less than 90 seconds, but has been observed to be very slow occasionally + // in CI and a 90 second timeout will avoid the cost of investigating these intermittent failures. + // See https://github.com/elastic/elasticsearch/issues/48511 + closeRequest.setCloseTimeout(TimeValue.timeValueSeconds(90L)); logger.info("Closing jobs using [{}]", MetaData.ALL); - CloseJobAction.Response response = client.execute(CloseJobAction.INSTANCE, closeRequest) - .get(); + CloseJobAction.Response response = client.execute(CloseJobAction.INSTANCE, closeRequest).get(); assertTrue(response.isClosed()); } catch (Exception e1) { try { CloseJobAction.Request closeRequest = new CloseJobAction.Request(MetaData.ALL); closeRequest.setForce(true); closeRequest.setCloseTimeout(TimeValue.timeValueSeconds(30L)); - CloseJobAction.Response response = - client.execute(CloseJobAction.INSTANCE, closeRequest).get(); + CloseJobAction.Response response = client.execute(CloseJobAction.INSTANCE, closeRequest).get(); assertTrue(response.isClosed()); } catch (Exception e2) { logger.warn("Force-closing jobs failed.", e2); } - throw new RuntimeException("Had to resort to force-closing job, something went wrong?", - e1); + throw new RuntimeException("Had to resort to force-closing job, something went wrong?", e1); } for (final Job job : jobs.results()) {