Skip to content

Commit 3c42d64

Browse files
committed
Fix testRestoreLocalHistoryFromTranslog (elastic#52441)
Asserts that no new operations are made into the translog since we re-opened the engine. Relates elastic#51905 Closes elastic#52410
1 parent a409b39 commit 3c42d64

File tree

1 file changed

+4
-11
lines changed

1 file changed

+4
-11
lines changed

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

+4-11
Original file line numberDiff line numberDiff line change
@@ -4559,7 +4559,6 @@ public void testRestoreLocalHistoryFromTranslog() throws IOException {
45594559
final EngineConfig engineConfig;
45604560
final SeqNoStats prevSeqNoStats;
45614561
final List<DocIdSeqNoAndSource> prevDocs;
4562-
final List<Translog.Operation> existingTranslog;
45634562
try (InternalEngine engine = createEngine(store, createTempDir(), globalCheckpoint::get)) {
45644563
engineConfig = engine.config();
45654564
for (final long seqNo : seqNos) {
@@ -4578,24 +4577,17 @@ public void testRestoreLocalHistoryFromTranslog() throws IOException {
45784577
engine.syncTranslog();
45794578
prevSeqNoStats = engine.getSeqNoStats(globalCheckpoint.get());
45804579
prevDocs = getDocIds(engine, true);
4581-
try (Translog.Snapshot snapshot = engine.getTranslog().newSnapshot()) {
4582-
existingTranslog = TestTranslog.drainSnapshot(snapshot, false);
4583-
}
45844580
}
45854581
try (InternalEngine engine = new InternalEngine(engineConfig)) {
4586-
final Translog.TranslogGeneration currrentTranslogGeneration = new Translog.TranslogGeneration(
4587-
engine.getTranslog().getTranslogUUID(), engine.getTranslog().currentFileGeneration());
4582+
final long currentTranslogGeneration = engine.getTranslog().currentFileGeneration();
45884583
engine.recoverFromTranslog(translogHandler, globalCheckpoint.get());
45894584
engine.restoreLocalHistoryFromTranslog(translogHandler);
45904585
assertThat(getDocIds(engine, true), equalTo(prevDocs));
45914586
SeqNoStats seqNoStats = engine.getSeqNoStats(globalCheckpoint.get());
45924587
assertThat(seqNoStats.getLocalCheckpoint(), equalTo(prevSeqNoStats.getLocalCheckpoint()));
45934588
assertThat(seqNoStats.getMaxSeqNo(), equalTo(prevSeqNoStats.getMaxSeqNo()));
4594-
try (Translog.Snapshot snapshot = engine.getTranslog().newSnapshot()) {
4595-
assertThat("restore from local translog must not add operations to translog",
4596-
snapshot.totalOperations(), equalTo(existingTranslog.size()));
4597-
assertThat(TestTranslog.drainSnapshot(snapshot, false), equalTo(existingTranslog));
4598-
}
4589+
assertThat("restore from local translog must not add operations to translog",
4590+
engine.getTranslog().totalOperationsByMinGen(currentTranslogGeneration), equalTo(0));
45994591
}
46004592
assertConsistentHistoryBetweenTranslogAndLuceneIndex(engine, createMapperService("test"));
46014593
}
@@ -6038,6 +6030,7 @@ public void testRecoverFromLocalTranslog() throws Exception {
60386030
docs = getDocIds(engine, true);
60396031
}
60406032
try (InternalEngine engine = new InternalEngine(config)) {
6033+
engine.onSettingsChanged(TimeValue.MINUS_ONE, ByteSizeValue.ZERO, 0);
60416034
engine.recoverFromTranslog(translogHandler, Long.MAX_VALUE);
60426035
assertThat(getDocIds(engine, randomBoolean()), equalTo(docs));
60436036
if (engine.getSeqNoStats(globalCheckpoint.get()).getMaxSeqNo() == globalCheckpoint.get()) {

0 commit comments

Comments
 (0)