diff --git a/server/src/main/java/org/elasticsearch/index/shard/IndexShard.java b/server/src/main/java/org/elasticsearch/index/shard/IndexShard.java index 97d1939c1b2..ff1922a231d 100644 --- a/server/src/main/java/org/elasticsearch/index/shard/IndexShard.java +++ b/server/src/main/java/org/elasticsearch/index/shard/IndexShard.java @@ -947,9 +947,7 @@ public class IndexShard extends AbstractIndexShardComponent implements IndicesCl public DocsStats docStats() { readAllowed(); - DocsStats docsStats = getEngine().docStats(); - markSearcherAccessed(); - return docsStats; + return getEngine().docStats(); } /** @@ -1028,11 +1026,7 @@ public class IndexShard extends AbstractIndexShardComponent implements IndicesCl public CompletionStats completionStats(String... fields) { readAllowed(); try { - CompletionStats stats = getEngine().completionStats(fields); - // we don't wait for a pending refreshes here since it's a stats call instead we mark it as accessed only which will cause - // the next scheduled refresh to go through and refresh the stats as well - markSearcherAccessed(); - return stats; + return getEngine().completionStats(fields); } catch (IOException e) { throw new UncheckedIOException(e); } diff --git a/server/src/test/java/org/elasticsearch/index/shard/IndexShardTests.java b/server/src/test/java/org/elasticsearch/index/shard/IndexShardTests.java index 67106b04f8d..da474e8d770 100644 --- a/server/src/test/java/org/elasticsearch/index/shard/IndexShardTests.java +++ b/server/src/test/java/org/elasticsearch/index/shard/IndexShardTests.java @@ -2767,7 +2767,7 @@ public class IndexShardTests extends IndexShardTestCase { }); long prevAccessTime = shard.getLastSearcherAccess(); indexShard.completionStats(); - assertThat("searcher was not marked as accessed", shard.getLastSearcherAccess(), greaterThan(prevAccessTime)); + assertThat("searcher was marked as accessed", shard.getLastSearcherAccess(), equalTo(prevAccessTime)); } finally { closeShards(indexShard); } @@ -2797,7 +2797,7 @@ public class IndexShardTests extends IndexShardTestCase { }); long prevAccessTime = shard.getLastSearcherAccess(); final DocsStats docsStats = indexShard.docStats(); - assertThat("searcher was not marked as accessed", shard.getLastSearcherAccess(), greaterThan(prevAccessTime)); + assertThat("searcher was marked as accessed", shard.getLastSearcherAccess(), equalTo(prevAccessTime)); assertThat(docsStats.getCount(), equalTo(numDocs)); try (Engine.Searcher searcher = indexShard.acquireSearcher("test")) { assertTrue(searcher.reader().numDocs() <= docsStats.getCount());