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.
This commit is contained in:
Tim Brooks 2019-02-21 20:03:24 -07:00
parent 3262d6c917
commit 931953a3ee
No known key found for this signature in database
GPG Key ID: C2AA3BB91A889E77
1 changed files with 5 additions and 0 deletions

View File

@ -358,6 +358,11 @@ public class CcrRepositoryIT extends CcrIntegTestCase {
settingsRequest.persistentSettings(Settings.builder().put(CcrSettings.INDICES_RECOVERY_ACTION_TIMEOUT_SETTING.getKey(), settingsRequest.persistentSettings(Settings.builder().put(CcrSettings.INDICES_RECOVERY_ACTION_TIMEOUT_SETTING.getKey(),
defaultValue)); defaultValue));
assertAcked(followerClient().admin().cluster().updateSettings(settingsRequest).actionGet()); 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);
} }
} }