From c4b1ca00f8dc1c54aa32c7afd2d8a318d8576054 Mon Sep 17 00:00:00 2001 From: Armin Braun Date: Wed, 29 Jan 2020 17:50:24 +0100 Subject: [PATCH 1/3] Fix InternalEngineTests.testSeqNoAndCheckpoints If we force flush while possibly triggering a merge the local checkpoint may change from the expectation from the loop that just increments on every operation. Closes #51604 --- .../org/elasticsearch/index/engine/InternalEngineTests.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/test/java/org/elasticsearch/index/engine/InternalEngineTests.java b/server/src/test/java/org/elasticsearch/index/engine/InternalEngineTests.java index 8737095729362..4c32e46d4b40e 100644 --- a/server/src/test/java/org/elasticsearch/index/engine/InternalEngineTests.java +++ b/server/src/test/java/org/elasticsearch/index/engine/InternalEngineTests.java @@ -2069,7 +2069,7 @@ public void testSeqNoAndCheckpoints() throws IOException, InterruptedException { InternalEngine initialEngine = null; try { - initialEngine = createEngine(defaultSettings, store, createTempDir(), newLogMergePolicy(), null); + initialEngine = createEngine(defaultSettings, store, createTempDir(), NoMergePolicy.INSTANCE, null); final ShardRouting primary = TestShardRouting.newShardRouting("test", shardId.id(), "node1", null, true, ShardRoutingState.STARTED, allocationId); From 1258b6eb0d7279f51011666fd079c38e3de86aee Mon Sep 17 00:00:00 2001 From: Armin Braun Date: Thu, 30 Jan 2020 10:59:44 +0100 Subject: [PATCH 2/3] revert --- .../org/elasticsearch/index/engine/InternalEngineTests.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/test/java/org/elasticsearch/index/engine/InternalEngineTests.java b/server/src/test/java/org/elasticsearch/index/engine/InternalEngineTests.java index 4c32e46d4b40e..8737095729362 100644 --- a/server/src/test/java/org/elasticsearch/index/engine/InternalEngineTests.java +++ b/server/src/test/java/org/elasticsearch/index/engine/InternalEngineTests.java @@ -2069,7 +2069,7 @@ public void testSeqNoAndCheckpoints() throws IOException, InterruptedException { InternalEngine initialEngine = null; try { - initialEngine = createEngine(defaultSettings, store, createTempDir(), NoMergePolicy.INSTANCE, null); + initialEngine = createEngine(defaultSettings, store, createTempDir(), newLogMergePolicy(), null); final ShardRouting primary = TestShardRouting.newShardRouting("test", shardId.id(), "node1", null, true, ShardRoutingState.STARTED, allocationId); From 52b6549026858729dc86cb5324d96c1b1e16ee04 Mon Sep 17 00:00:00 2001 From: Armin Braun Date: Thu, 30 Jan 2020 11:36:50 +0100 Subject: [PATCH 3/3] better fix --- .../org/elasticsearch/index/engine/InternalEngineTests.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/src/test/java/org/elasticsearch/index/engine/InternalEngineTests.java b/server/src/test/java/org/elasticsearch/index/engine/InternalEngineTests.java index 8737095729362..f437e4d6664ca 100644 --- a/server/src/test/java/org/elasticsearch/index/engine/InternalEngineTests.java +++ b/server/src/test/java/org/elasticsearch/index/engine/InternalEngineTests.java @@ -2102,7 +2102,7 @@ public void testSeqNoAndCheckpoints() throws IOException, InterruptedException { id = randomFrom(indexedIds); final Engine.Delete delete = new Engine.Delete( id, newUid(id), UNASSIGNED_SEQ_NO, primaryTerm.get(), - rarely() ? 100 : Versions.MATCH_ANY, VersionType.INTERNAL, PRIMARY, 0, UNASSIGNED_SEQ_NO, 0); + rarely() ? 100 : Versions.MATCH_ANY, VersionType.INTERNAL, PRIMARY, System.nanoTime(), UNASSIGNED_SEQ_NO, 0); final Engine.DeleteResult result = initialEngine.delete(delete); if (result.getResultType() == Engine.Result.Type.SUCCESS) { assertThat(result.getSeqNo(), equalTo(primarySeqNo + 1)); @@ -2120,7 +2120,7 @@ id, newUid(id), UNASSIGNED_SEQ_NO, primaryTerm.get(), final Engine.Index index = new Engine.Index(newUid(doc), doc, UNASSIGNED_SEQ_NO, primaryTerm.get(), rarely() ? 100 : Versions.MATCH_ANY, VersionType.INTERNAL, - PRIMARY, 0, -1, false, UNASSIGNED_SEQ_NO, 0); + PRIMARY, System.nanoTime(), -1, false, UNASSIGNED_SEQ_NO, 0); final Engine.IndexResult result = initialEngine.index(index); if (result.getResultType() == Engine.Result.Type.SUCCESS) { assertThat(result.getSeqNo(), equalTo(primarySeqNo + 1));