Skip to content

Commit ef11b44

Browse files
authored
Acquire stats searcher for data stream stats (#117953)
Here, we only need to extract the minimum and maximum values of the timestamp field; therefore, using a stats searcher should suffice. This is important for frozen indices.
1 parent cb35dc9 commit ef11b44

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

docs/changelog/117953.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 117953
2+
summary: Acquire stats searcher for data stream stats
3+
area: Data streams
4+
type: bug
5+
issues: []

modules/data-streams/src/main/java/org/elasticsearch/datastreams/action/DataStreamsStatsTransportAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import org.elasticsearch.index.Index;
3232
import org.elasticsearch.index.IndexService;
3333
import org.elasticsearch.index.engine.Engine;
34+
import org.elasticsearch.index.engine.ReadOnlyEngine;
3435
import org.elasticsearch.index.shard.IndexShard;
3536
import org.elasticsearch.index.store.StoreStats;
3637
import org.elasticsearch.indices.IndicesService;
@@ -130,7 +131,7 @@ protected void shardOperation(
130131
DataStream dataStream = indexAbstraction.getParentDataStream();
131132
assert dataStream != null;
132133
long maxTimestamp = 0L;
133-
try (Engine.Searcher searcher = indexShard.acquireSearcher("data_stream_stats")) {
134+
try (Engine.Searcher searcher = indexShard.acquireSearcher(ReadOnlyEngine.FIELD_RANGE_SEARCH_SOURCE)) {
134135
IndexReader indexReader = searcher.getIndexReader();
135136
byte[] maxPackedValue = PointValues.getMaxPackedValue(indexReader, DataStream.TIMESTAMP_FIELD_NAME);
136137
if (maxPackedValue != null) {

0 commit comments

Comments
 (0)