Skip to content

Commit b9f68d4

Browse files
committed
Cleanup tighten sequence number recovery
1 parent 2a8d069 commit b9f68d4

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

core/src/main/java/org/elasticsearch/index/engine/InternalEngine.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -609,7 +609,6 @@ private IndexResult innerIndex(Index index) throws IOException {
609609
assert assertSequenceNumber(index.origin(), index.seqNo());
610610
final Translog.Location location;
611611
final long updatedVersion;
612-
IndexResult indexResult = null;
613612
long seqNo = index.seqNo();
614613
try (Releasable ignored = acquireLock(index.uid())) {
615614
lastWriteNanos = index.startTime();
@@ -684,6 +683,7 @@ private IndexResult innerIndex(Index index) throws IOException {
684683
() -> new IndexResult(currentVersion, index.seqNo(), false),
685684
e -> new IndexResult(e, currentVersion, index.seqNo()));
686685

686+
final IndexResult indexResult;
687687
if (checkVersionConflictResult.isPresent()) {
688688
indexResult = checkVersionConflictResult.get();
689689
} else {
@@ -789,7 +789,6 @@ private DeleteResult innerDelete(Delete delete) throws IOException {
789789
final Translog.Location location;
790790
final long updatedVersion;
791791
final boolean found;
792-
DeleteResult deleteResult = null;
793792
long seqNo = delete.seqNo();
794793
try (Releasable ignored = acquireLock(delete.uid())) {
795794
lastWriteNanos = delete.startTime();
@@ -816,6 +815,7 @@ private DeleteResult innerDelete(Delete delete) throws IOException {
816815
() -> new DeleteResult(expectedVersion, delete.seqNo(), true),
817816
e -> new DeleteResult(e, expectedVersion, delete.seqNo()));
818817

818+
final DeleteResult deleteResult;
819819
if (result.isPresent()) {
820820
deleteResult = result.get();
821821
} else {
@@ -838,7 +838,7 @@ private DeleteResult innerDelete(Delete delete) throws IOException {
838838
return deleteResult;
839839
} finally {
840840
if (seqNo != SequenceNumbersService.UNASSIGNED_SEQ_NO) {
841-
seqNoService().markSeqNoAsCompleted(deleteResult.getSeqNo());
841+
seqNoService().markSeqNoAsCompleted(seqNo);
842842
}
843843
}
844844
}

core/src/test/java/org/elasticsearch/index/engine/InternalEngineTests.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@
157157
import java.util.stream.Collectors;
158158

159159
import static java.util.Collections.emptyMap;
160+
import static org.elasticsearch.index.engine.Engine.Operation.Origin.LOCAL_TRANSLOG_RECOVERY;
160161
import static org.elasticsearch.index.engine.Engine.Operation.Origin.PRIMARY;
161162
import static org.elasticsearch.index.engine.Engine.Operation.Origin.REPLICA;
162163
import static org.elasticsearch.index.engine.Engine.Operation.Origin.PEER_RECOVERY;
@@ -3036,7 +3037,7 @@ public void testSequenceNumberAdvancesToMaxSeqNoOnEngineOpenOnReplica() throws I
30363037

30373038
try (final Engine recoveringEngine =
30383039
new InternalEngine(copy(initialEngine.config(), EngineConfig.OpenMode.OPEN_INDEX_AND_TRANSLOG))) {
3039-
assertThat(recoveringEngine.seqNoService().getLocalCheckpoint(), greaterThanOrEqualTo((long) (3 * docs + 2 - 1)));
3040+
assertThat(recoveringEngine.seqNoService().getLocalCheckpoint(), greaterThanOrEqualTo((long) (3 * (docs - 1) + 2 - 1)));
30403041
}
30413042
}
30423043

@@ -3047,7 +3048,7 @@ public void testOutOfOrderSequenceNumbersWithVersionConflict() throws IOExceptio
30473048
final Term uid = newUid("1");
30483049
final Document document = testDocumentWithTextField();
30493050
final AtomicLong sequenceNumber = new AtomicLong();
3050-
final Engine.Operation.Origin origin = randomFrom(PEER_RECOVERY, PRIMARY, PEER_RECOVERY);
3051+
final Engine.Operation.Origin origin = randomFrom(LOCAL_TRANSLOG_RECOVERY, PEER_RECOVERY, PRIMARY, REPLICA);
30513052
final LongSupplier sequenceNumberSupplier =
30523053
origin == PRIMARY ? () -> SequenceNumbersService.UNASSIGNED_SEQ_NO : sequenceNumber::getAndIncrement;
30533054
document.add(new Field(SourceFieldMapper.NAME, BytesReference.toBytes(B_1), SourceFieldMapper.Defaults.FIELD_TYPE));

0 commit comments

Comments
 (0)