From 931953a3ee3dffb5fb6f1438fcb8bc628015b59f Mon Sep 17 00:00:00 2001 From: Tim Brooks Date: Thu, 21 Feb 2019 20:03:24 -0700 Subject: [PATCH] Ensure index commit released when testing timeouts (#39273) 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 5357f9f01b2..14385bf4d68 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 class CcrRepositoryIT extends CcrIntegTestCase { 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); } }