diff --git a/server/src/main/java/org/opensearch/index/engine/InternalEngine.java b/server/src/main/java/org/opensearch/index/engine/InternalEngine.java index 79cf6243cadbd..611a5cfed670f 100644 --- a/server/src/main/java/org/opensearch/index/engine/InternalEngine.java +++ b/server/src/main/java/org/opensearch/index/engine/InternalEngine.java @@ -886,10 +886,15 @@ public IndexResult index(Index index) throws IOException { * or calls updateDocument. */ final IndexingStrategy plan = indexingStrategyForOperation(index); - if (index.origin() == Operation.Origin.PRIMARY) { - reservedDocs = plan.reservedDocs; - } else { + if (index.origin() == Operation.Origin.REPLICA) { reservedDocs = 0; + } else { + reservedDocs = plan.reservedDocs; + } + if (index.origin() == Operation.Origin.REPLICA && engineConfig.getIndexSettings().isSegRepEnabledOrRemoteNode() == false) { + if (plan != index.indexingStrategy()) { + throw new RuntimeException("plan != index.indexingStrategy()"); + } } final IndexResult indexResult; @@ -1017,6 +1022,9 @@ protected final IndexingStrategy planIndexingAsNonPrimary(Index index) throws IO } else { boolean segRepEnabled = engineConfig.getIndexSettings().isSegRepEnabledOrRemoteNode(); versionMap.enforceSafeAccess(); +// if (index.origin() == Operation.Origin.REPLICA && segRepEnabled == false) { +// +// } final OpVsLuceneDocStatus opVsLucene = compareOpToLuceneDocBasedOnSeqNo(index); if (opVsLucene == OpVsLuceneDocStatus.OP_STALE_OR_EQUAL) {// seqNo小于等于当前已经写入的 if (segRepEnabled) {