Skip to content

Commit db73b39

Browse files
committed
Support returning latest hollow generation real-time GET requests
See ES-10571
1 parent 9209341 commit db73b39

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

server/src/main/java/org/elasticsearch/action/get/TransportGetFromTranslogAction.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import org.elasticsearch.index.IndexService;
2828
import org.elasticsearch.index.engine.Engine;
2929
import org.elasticsearch.index.engine.InternalEngine;
30+
import org.elasticsearch.index.engine.ReadOnlyEngine;
3031
import org.elasticsearch.index.get.GetResult;
3132
import org.elasticsearch.index.shard.IndexShard;
3233
import org.elasticsearch.index.shard.ShardId;
@@ -81,7 +82,11 @@ protected void doExecute(Task task, Request request, ActionListener<Response> li
8182
if (engine == null) {
8283
throw new AlreadyClosedException("engine closed");
8384
}
84-
segmentGeneration = ((InternalEngine) engine).getLastUnsafeSegmentGenerationForGets();
85+
if (engine instanceof InternalEngine internalEngine) {
86+
segmentGeneration = internalEngine.getLastUnsafeSegmentGenerationForGets();
87+
} else if (engine instanceof ReadOnlyEngine readOnlyEngine) {
88+
segmentGeneration = readOnlyEngine.getLastUnsafeSegmentGenerationForGets();
89+
}
8590
}
8691
return new Response(result, indexShard.getOperationPrimaryTerm(), segmentGeneration);
8792
});

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -636,4 +636,8 @@ public String getSearcherId() {
636636
public final String getCommitId() {
637637
return commitId;
638638
}
639+
640+
public long getLastUnsafeSegmentGenerationForGets() {
641+
return -1;
642+
}
639643
}

0 commit comments

Comments
 (0)