From 667b9e314284becae2e86fe9d31b24c684d9158f Mon Sep 17 00:00:00 2001 From: Benjamin Trent <4357155+benwtrent@users.noreply.github.com> Date: Fri, 22 Mar 2019 11:58:06 -0500 Subject: [PATCH 1/2] [ML] making test more determinate --- ...aFrameTransformsCheckpointServiceTests.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/x-pack/plugin/data-frame/src/test/java/org/elasticsearch/xpack/dataframe/checkpoint/DataFrameTransformsCheckpointServiceTests.java b/x-pack/plugin/data-frame/src/test/java/org/elasticsearch/xpack/dataframe/checkpoint/DataFrameTransformsCheckpointServiceTests.java index cc9179f8ba7dc..ea5362d184b34 100644 --- a/x-pack/plugin/data-frame/src/test/java/org/elasticsearch/xpack/dataframe/checkpoint/DataFrameTransformsCheckpointServiceTests.java +++ b/x-pack/plugin/data-frame/src/test/java/org/elasticsearch/xpack/dataframe/checkpoint/DataFrameTransformsCheckpointServiceTests.java @@ -140,9 +140,19 @@ private static ShardStats[] createRandomShardStats(Map expectedC // we need at least one replica for testing int numShardCopies = randomIntBetween(2, 4); + int primaryShard = 0; + if (skipPrimaries) { + primaryShard = randomInt(numShardCopies - 1); + } int inconsistentReplica = -1; if (inconsistentGlobalCheckpoints) { - inconsistentReplica = randomIntBetween(0, numShardCopies - 1); + List replicas = new ArrayList<>(numShardCopies - 1); + for (int i = 0; i < numShardCopies; i++) { + if (primaryShard != i) { + replicas.add(i); + } + } + inconsistentReplica = randomFrom(replicas); } // SeqNoStats asserts that checkpoints are logical @@ -155,11 +165,7 @@ private static ShardStats[] createRandomShardStats(Map expectedC for (int replica = 0; replica < numShardCopies; replica++) { ShardId shardId = new ShardId(index, shardIndex); - boolean primary = (replica == 0); - - if (skipPrimaries) { - primary = randomBoolean(); - } + boolean primary = (replica == primaryShard); Path path = createTempDir().resolve("indices").resolve(index.getUUID()).resolve(String.valueOf(shardIndex)); ShardRouting shardRouting = ShardRouting.newUnassigned(shardId, primary, From d78b05f810703807cf4cc63a5cd5f4e95f562df8 Mon Sep 17 00:00:00 2001 From: Benjamin Trent <4357155+benwtrent@users.noreply.github.com> Date: Fri, 22 Mar 2019 13:02:15 -0500 Subject: [PATCH 2/2] unmuting test --- .../checkpoint/DataFrameTransformsCheckpointServiceTests.java | 1 - 1 file changed, 1 deletion(-) diff --git a/x-pack/plugin/data-frame/src/test/java/org/elasticsearch/xpack/dataframe/checkpoint/DataFrameTransformsCheckpointServiceTests.java b/x-pack/plugin/data-frame/src/test/java/org/elasticsearch/xpack/dataframe/checkpoint/DataFrameTransformsCheckpointServiceTests.java index 0868315165cdc..ea5362d184b34 100644 --- a/x-pack/plugin/data-frame/src/test/java/org/elasticsearch/xpack/dataframe/checkpoint/DataFrameTransformsCheckpointServiceTests.java +++ b/x-pack/plugin/data-frame/src/test/java/org/elasticsearch/xpack/dataframe/checkpoint/DataFrameTransformsCheckpointServiceTests.java @@ -82,7 +82,6 @@ public void testExtractIndexCheckpointsLostPrimaries() { } } - @AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/40368") public void testExtractIndexCheckpointsInconsistentGlobalCheckpoints() { Map expectedCheckpoints = new HashMap<>(); Set indices = randomUserIndices();