Skip to content

Commit 5ce37e7

Browse files
authored
Fix testScheduledRefresh (elastic#97147)
Fixes elastic#96920
1 parent a03d68f commit 5ce37e7

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
@@ -3749,7 +3749,7 @@ ReplicationTracker getReplicationTracker() {
37493749
}
37503750

37513751
/**
3752-
* Executes a scheduled refresh if necessary. Completes the listener with true if a refreshed was performed otherwise false.
3752+
* Executes a scheduled refresh if necessary. Completes the listener with true if a refresh was performed otherwise false.
37533753
*/
37543754
public void scheduledRefresh(ActionListener<Boolean> listener) {
37553755
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
@@ -3817,12 +3817,12 @@ public void testScheduledRefresh() throws Exception {
38173817
assertBusy(() -> assertThat(primary.getThreadPool().relativeTimeInMillis(), greaterThan(lastSearchAccess)));
38183818

38193819
// Make shard search active again and ensure previously index document is visible:
3820-
CountDownLatch latch = new CountDownLatch(1);
3821-
primary.ensureShardSearchActive(refreshed -> {
3822-
assertTrue(refreshed);
3823-
latch.countDown();
3820+
long refreshesBefore = primary.refreshStats().getTotal();
3821+
primary.ensureShardSearchActive(registered -> { assertTrue(registered); });
3822+
assertBusy(() -> {
3823+
assertFalse(primary.hasRefreshPending());
3824+
assertThat(primary.refreshStats().getTotal(), equalTo(refreshesBefore + 1));
38243825
});
3825-
latch.await();
38263826
assertNotEquals(
38273827
"awaitShardSearchActive must access a searcher to remove search idle state",
38283828
lastSearchAccess,
@@ -3833,19 +3833,19 @@ public void testScheduledRefresh() throws Exception {
38333833
assertEquals(2, searcher.getIndexReader().numDocs());
38343834
}
38353835

3836-
// No documents were added and shard is search active so makeShardSearchActive(...) should behave like a noop:
3836+
// No documents were added and shard is search active so ensureShardSearchActive(...) should behave like a noop:
38373837
assertFalse(primary.getEngine().refreshNeeded());
3838-
CountDownLatch latch1 = new CountDownLatch(1);
3839-
primary.ensureShardSearchActive(refreshed -> {
3840-
assertFalse(refreshed);
3838+
CountDownLatch latch = new CountDownLatch(1);
3839+
primary.ensureShardSearchActive(registered -> {
3840+
assertFalse(registered);
38413841
try (Engine.Searcher searcher = primary.acquireSearcher("test")) {
38423842
assertEquals(2, searcher.getIndexReader().numDocs());
38433843
} finally {
3844-
latch1.countDown();
3844+
latch.countDown();
38453845
}
38463846

38473847
});
3848-
latch1.await();
3848+
latch.await();
38493849

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

0 commit comments

Comments
 (0)