From ca6eb7ca384e2409d7407fa8b978eebb9d8729bd Mon Sep 17 00:00:00 2001 From: Tim Brooks Date: Thu, 21 Feb 2019 14:16:47 -0700 Subject: [PATCH] Ensure index commit released when testing timeouts This fixes #39245. Currently it is possible in this test that the clear session call times-out. This means that the index commit will not be released and there will be an assertion triggered in the test teardown. This commit ensures that we wipe the leader index in the test to avoid this assertion. It is okay if the clear session call times-out in normal usage. This scenario is unavoidable due to potential network issues. We have a local timeout on the leader to clean it up when this scenario happens. --- .../java/org/elasticsearch/xpack/ccr/CcrRepositoryIT.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/x-pack/plugin/ccr/src/test/java/org/elasticsearch/xpack/ccr/CcrRepositoryIT.java b/x-pack/plugin/ccr/src/test/java/org/elasticsearch/xpack/ccr/CcrRepositoryIT.java index 5357f9f01b229..14385bf4d6812 100644 --- a/x-pack/plugin/ccr/src/test/java/org/elasticsearch/xpack/ccr/CcrRepositoryIT.java +++ b/x-pack/plugin/ccr/src/test/java/org/elasticsearch/xpack/ccr/CcrRepositoryIT.java @@ -358,6 +358,11 @@ public void testIndividualActionsTimeout() throws Exception { settingsRequest.persistentSettings(Settings.builder().put(CcrSettings.INDICES_RECOVERY_ACTION_TIMEOUT_SETTING.getKey(), defaultValue)); assertAcked(followerClient().admin().cluster().updateSettings(settingsRequest).actionGet()); + // This test sets individual action timeouts low to attempt to replicated timeouts. Although the + // clear session action is not blocked, it is possible that it will still occasionally timeout. + // By wiping the leader index here, we ensure we do not trigger the index commit hanging around + // assertion because the commit is released when the index shard is closed. + getLeaderCluster().wipeIndices(leaderIndex); } }