From 15126ea3eaff70892d442f57539e71513196d7bc Mon Sep 17 00:00:00 2001 From: David Turner Date: Mon, 8 Jul 2019 10:53:53 +0100 Subject: [PATCH] Randomise retention lease expiry time In today's test suite indices mostly use the default value of `12h` for the `index.soft_deletes.retention_lease.period` setting, which in the context of the test suite essentially means "never expires". In fact, the tests should all behave correctly even if the lease period is much shorter; tests that rely on leases not expiring should configure their indices appropriately. This commit randomises the lease expiry time for those indices created during tests which do not set a specific value for this setting. --- .../main/java/org/elasticsearch/test/ESIntegTestCase.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/framework/src/main/java/org/elasticsearch/test/ESIntegTestCase.java b/test/framework/src/main/java/org/elasticsearch/test/ESIntegTestCase.java index 81be0e26cffce..91b05be80b1f3 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/ESIntegTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/test/ESIntegTestCase.java @@ -186,9 +186,11 @@ import static org.elasticsearch.client.Requests.syncedFlushRequest; import static org.elasticsearch.cluster.metadata.IndexMetaData.SETTING_NUMBER_OF_REPLICAS; import static org.elasticsearch.cluster.metadata.IndexMetaData.SETTING_NUMBER_OF_SHARDS; +import static org.elasticsearch.common.unit.TimeValue.timeValueMillis; import static org.elasticsearch.common.util.CollectionUtils.eagerPartition; import static org.elasticsearch.discovery.DiscoveryModule.DISCOVERY_SEED_PROVIDERS_SETTING; import static org.elasticsearch.discovery.SettingsBasedSeedHostsProvider.DISCOVERY_SEED_HOSTS_SETTING; +import static org.elasticsearch.index.IndexSettings.INDEX_SOFT_DELETES_RETENTION_LEASE_PERIOD_SETTING; import static org.elasticsearch.index.query.QueryBuilders.matchAllQuery; import static org.elasticsearch.test.XContentTestUtils.convertToMap; import static org.elasticsearch.test.XContentTestUtils.differenceBetweenMapsIgnoringArrayOrder; @@ -702,6 +704,10 @@ public Settings indexSettings() { if (randomBoolean()) { builder.put(IndexSettings.INDEX_SOFT_DELETES_RETENTION_OPERATIONS_SETTING.getKey(), between(0, 1000)); } + if (randomBoolean()) { + builder.put(INDEX_SOFT_DELETES_RETENTION_LEASE_PERIOD_SETTING.getKey(), timeValueMillis(randomLongBetween(0, randomBoolean() + ? 1000 : INDEX_SOFT_DELETES_RETENTION_LEASE_PERIOD_SETTING.get(Settings.EMPTY).millis())).getStringRep()); + } return builder.build(); }