Skip to content

Commit a2d17e1

Browse files
committed
Field infos calculation method inside Engine
So it can be overriden in stateless if/as needed. Relates ES-11457
1 parent 1a615fc commit a2d17e1

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

server/src/main/java/org/elasticsearch/index/engine/Engine.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,15 @@ public ShardFieldStats shardFieldStats() {
262262
}
263263
}
264264

265+
/**
266+
* @throws AlreadyClosedException if the shard is closed
267+
*/
268+
public FieldInfos shardFieldInfos() {
269+
try (var searcher = acquireSearcher("field_has_value")) {
270+
return FieldInfos.getMergedFieldInfos(searcher.getIndexReader());
271+
}
272+
}
273+
265274
protected static ShardFieldStats shardFieldStats(List<LeafReaderContext> leaves) {
266275
int numSegments = 0;
267276
int totalFields = 0;

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4308,9 +4308,9 @@ public void afterRefresh(boolean didRefresh) {
43084308
}
43094309

43104310
private FieldInfos loadFieldInfos() {
4311-
try (Engine.Searcher hasValueSearcher = getEngine().acquireSearcher("field_has_value")) {
4312-
return FieldInfos.getMergedFieldInfos(hasValueSearcher.getIndexReader());
4313-
} catch (AlreadyClosedException ignore) {
4311+
try {
4312+
return getEngine().shardFieldInfos();
4313+
} catch (AlreadyClosedException ignored) {
43144314
// engine is closed - no update to FieldInfos is fine
43154315
}
43164316
return FieldInfos.EMPTY;

0 commit comments

Comments
 (0)