Skip to content

Commit 53c6a6f

Browse files
authored
Fix testScheduledRefresh (#97147) (#97160)
Fixes #96920
1 parent 04c4738 commit 53c6a6f

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

server/src/main/java/org/elasticsearch/index/shard/IndexShard.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3744,7 +3744,7 @@ ReplicationTracker getReplicationTracker() {
37443744
}
37453745

37463746
/**
3747-
* Executes a scheduled refresh if necessary. Completes the listener with true if a refreshed was performed otherwise false.
3747+
* Executes a scheduled refresh if necessary. Completes the listener with true if a refresh was performed otherwise false.
37483748
*/
37493749
public void scheduledRefresh(ActionListener<Boolean> listener) {
37503750
ActionListener.run(listener, l -> {

server/src/test/java/org/elasticsearch/index/shard/IndexShardTests.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3811,12 +3811,12 @@ public void testScheduledRefresh() throws Exception {
38113811
assertBusy(() -> assertThat(primary.getThreadPool().relativeTimeInMillis(), greaterThan(lastSearchAccess)));
38123812

38133813
// Make shard search active again and ensure previously index document is visible:
3814-
CountDownLatch latch = new CountDownLatch(1);
3815-
primary.ensureShardSearchActive(refreshed -> {
3816-
assertTrue(refreshed);
3817-
latch.countDown();
3814+
long refreshesBefore = primary.refreshStats().getTotal();
3815+
primary.ensureShardSearchActive(registered -> { assertTrue(registered); });
3816+
assertBusy(() -> {
3817+
assertFalse(primary.hasRefreshPending());
3818+
assertThat(primary.refreshStats().getTotal(), equalTo(refreshesBefore + 1));
38183819
});
3819-
latch.await();
38203820
assertNotEquals(
38213821
"awaitShardSearchActive must access a searcher to remove search idle state",
38223822
lastSearchAccess,
@@ -3827,19 +3827,19 @@ public void testScheduledRefresh() throws Exception {
38273827
assertEquals(2, searcher.getIndexReader().numDocs());
38283828
}
38293829

3830-
// No documents were added and shard is search active so makeShardSearchActive(...) should behave like a noop:
3830+
// No documents were added and shard is search active so ensureShardSearchActive(...) should behave like a noop:
38313831
assertFalse(primary.getEngine().refreshNeeded());
3832-
CountDownLatch latch1 = new CountDownLatch(1);
3833-
primary.ensureShardSearchActive(refreshed -> {
3834-
assertFalse(refreshed);
3832+
CountDownLatch latch = new CountDownLatch(1);
3833+
primary.ensureShardSearchActive(registered -> {
3834+
assertFalse(registered);
38353835
try (Engine.Searcher searcher = primary.acquireSearcher("test")) {
38363836
assertEquals(2, searcher.getIndexReader().numDocs());
38373837
} finally {
3838-
latch1.countDown();
3838+
latch.countDown();
38393839
}
38403840

38413841
});
3842-
latch1.await();
3842+
latch.await();
38433843

38443844
// Index a document while shard is search active and ensure scheduleRefresh(...) makes documen visible:
38453845
indexDoc(primary, "_doc", "2", "{\"foo\" : \"bar\"}");

0 commit comments

Comments
 (0)