Skip to content

Commit 2a4582f

Browse files
authored
Fix CcrRepositoryIT.testCcrRepositoryFetchesSnapshotShardSizeEtc (#64228) (#64478)
This test failed sometimes for various reasons: an empty bulk request that can't be validated, a background force-merge that completes after the store stats were collected and finally an assertBusy() that waits 10 seconds while we usually wait 60s on the follower cluster in CCR tests. Closes #64167
1 parent c07c46e commit 2a4582f

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

x-pack/plugin/ccr/src/internalClusterTest/java/org/elasticsearch/xpack/ccr/CcrRepositoryIT.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -473,13 +473,18 @@ public void testCcrRepositoryFetchesSnapshotShardSizeFromIndexShardStoreStats()
473473
TimeValue.ZERO.getStringRep())), XContentType.JSON));
474474

475475
final int numDocs = scaledRandomIntBetween(0, 1_000);
476-
final BulkRequestBuilder bulkRequest = leaderClient().prepareBulk(leaderIndex, "_doc");
477-
for (int i = 0; i < numDocs; i++) {
478-
bulkRequest.add(new IndexRequest(leaderIndex).id(Integer.toString(i)).source("field", i));
476+
if (numDocs > 0) {
477+
final BulkRequestBuilder bulkRequest = leaderClient().prepareBulk(leaderIndex, "_doc");
478+
for (int i = 0; i < numDocs; i++) {
479+
bulkRequest.add(new IndexRequest(leaderIndex).id(Integer.toString(i)).source("field", i));
480+
}
481+
assertThat(bulkRequest.get().hasFailures(), is(false));
479482
}
480-
assertThat(bulkRequest.get().hasFailures(), is(false));
481483

482-
final ForceMergeResponse forceMergeResponse = leaderClient().admin().indices().prepareForceMerge(leaderIndex).setFlush(true).get();
484+
final ForceMergeResponse forceMergeResponse = leaderClient().admin().indices().prepareForceMerge(leaderIndex)
485+
.setMaxNumSegments(1)
486+
.setFlush(true)
487+
.get();
483488
assertThat(forceMergeResponse.getSuccessfulShards(), equalTo(numberOfShards));
484489
assertThat(forceMergeResponse.getFailedShards(), equalTo(0));
485490
ensureLeaderGreen(leaderIndex);
@@ -564,7 +569,7 @@ public void testCcrRepositoryFetchesSnapshotShardSizeFromIndexShardStoreStats()
564569
assertThat(snapshotShardSize,
565570
equalTo(indexStats.getIndexShards().get(shardId).getPrimary().getStore().getSizeInBytes()));
566571
}
567-
});
572+
}, 60L, TimeUnit.SECONDS);
568573

569574
blockCcrRestore.countDown();
570575
ensureFollowerGreen(followerIndex);
@@ -678,7 +683,7 @@ public void testCcrRepositoryFailsToFetchSnapshotShardSizes() throws Exception {
678683
final long randomSize = randomNonNegativeLong();
679684
assertThat(snapshotShardSizeInfo.getShardSize(primary, randomSize), equalTo(randomSize));
680685
}
681-
});
686+
}, 60L, TimeUnit.SECONDS);
682687
} finally {
683688
transportServices.forEach(MockTransportService::clearAllRules);
684689
}

0 commit comments

Comments
 (0)