diff --git a/modules/ingest-geoip/src/internalClusterTest/java/org/elasticsearch/ingest/geoip/GeoIpDownloaderIT.java b/modules/ingest-geoip/src/internalClusterTest/java/org/elasticsearch/ingest/geoip/GeoIpDownloaderIT.java index f3f37f50147fb..5d02fde827160 100644 --- a/modules/ingest-geoip/src/internalClusterTest/java/org/elasticsearch/ingest/geoip/GeoIpDownloaderIT.java +++ b/modules/ingest-geoip/src/internalClusterTest/java/org/elasticsearch/ingest/geoip/GeoIpDownloaderIT.java @@ -254,6 +254,7 @@ public void testGeoIpDatabasesDownload() throws Exception { assertBusy(() -> { GeoIpTaskState state = getGeoIpTaskState(); assertEquals(Set.of("GeoLite2-ASN.mmdb", "GeoLite2-City.mmdb", "GeoLite2-Country.mmdb"), state.getDatabases().keySet()); + putGeoIpPipeline(); // This is to work around the race condition described in #92888 }, 2, TimeUnit.MINUTES); for (String id : List.of("GeoLite2-ASN.mmdb", "GeoLite2-City.mmdb", "GeoLite2-Country.mmdb")) { @@ -309,7 +310,11 @@ public void testGeoIpDatabasesDownloadNoGeoipProcessors() throws Exception { .setPersistentSettings(Settings.builder().put(GeoIpDownloaderTaskExecutor.ENABLED_SETTING.getKey(), true)) .get(); assertTrue(settingsResponse.isAcknowledged()); - assertBusy(() -> { assertNull(getTask().getState()); }); + assertBusy(() -> { + assertNotNull(getTask()); + assertNull(getTask().getState()); + putGeoIpPipeline(); // This is to work around the race condition described in #92888 + }); putNonGeoipPipeline(pipelineId); assertBusy(() -> { assertNull(getTask().getState()); }); putNonGeoipPipeline(pipelineId);