1
0
Эх сурвалжийг харах

Reduce flaxiness of ccr recovery timeouts test (#38035)

This fixes #38027. Currently we assert that all shards have failed.
However, it is possible that some shards do not have segement files
created yet. The action that we block is fetching these segement files
so it is possible that some shards successfully recover.

This commit changes the assertion to ensure that at least some of the
shards have failed.
Tim Brooks 6 жил өмнө
parent
commit
aeab55e8d1

+ 5 - 2
x-pack/plugin/ccr/src/test/java/org/elasticsearch/xpack/ccr/CcrRepositoryIT.java

@@ -55,7 +55,9 @@ import static java.util.Collections.singletonMap;
 import static org.elasticsearch.snapshots.RestoreService.restoreInProgress;
 import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked;
 import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.greaterThan;
 import static org.hamcrest.Matchers.instanceOf;
+import static org.hamcrest.Matchers.lessThan;
 
 // TODO: Fold this integration test into a more expansive integration test as more bootstrap from remote work
 // TODO: is completed.
@@ -367,8 +369,9 @@ public class CcrRepositoryIT extends CcrIntegTestCase {
         // be marked as failed. Either one is a success for the purpose of this test.
         try {
             RestoreInfo restoreInfo = future.actionGet();
-            assertEquals(0, restoreInfo.successfulShards());
-            assertEquals(numberOfPrimaryShards, restoreInfo.failedShards());
+            assertThat(restoreInfo.failedShards(), greaterThan(0));
+            assertThat(restoreInfo.successfulShards(), lessThan(restoreInfo.totalShards()));
+            assertEquals(numberOfPrimaryShards, restoreInfo.totalShards());
         } catch (Exception e) {
             assertThat(ExceptionsHelper.unwrapCause(e), instanceOf(ElasticsearchTimeoutException.class));
         }