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 4efac334bde17..2acac166fcaf9 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 FlushStats flushStats() { public DocsStats docStats() { readAllowed(); - DocsStats docsStats = getEngine().docStats(); - markSearcherAccessed(); - return docsStats; + return getEngine().docStats(); } /** @@ -1028,11 +1026,7 @@ public TranslogStats translogStats() { 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 22d7989d15d86..1abba3ed44264 100644 --- a/server/src/test/java/org/elasticsearch/index/shard/IndexShardTests.java +++ b/server/src/test/java/org/elasticsearch/index/shard/IndexShardTests.java @@ -2763,7 +2763,7 @@ public void testCompletionStatsMarksSearcherAccessed() throws Exception { }); 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); } @@ -2793,7 +2793,7 @@ public void testDocStats() throws Exception { }); 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());