|
15 | 15 | import org.elasticsearch.action.admin.cluster.settings.ClusterUpdateSettingsRequest;
|
16 | 16 | import org.elasticsearch.action.admin.indices.get.GetIndexResponse;
|
17 | 17 | import org.elasticsearch.action.admin.indices.refresh.RefreshResponse;
|
| 18 | +import org.elasticsearch.action.admin.indices.settings.put.UpdateSettingsRequest; |
18 | 19 | import org.elasticsearch.action.admin.indices.stats.ShardStats;
|
19 | 20 | import org.elasticsearch.action.search.SearchRequest;
|
20 | 21 | import org.elasticsearch.action.search.SearchResponse;
|
|
27 | 28 | import org.elasticsearch.cluster.metadata.IndexMetaData;
|
28 | 29 | import org.elasticsearch.cluster.metadata.MetaData;
|
29 | 30 | import org.elasticsearch.cluster.routing.ShardRouting;
|
| 31 | +import org.elasticsearch.cluster.routing.UnassignedInfo; |
30 | 32 | import org.elasticsearch.cluster.routing.allocation.DiskThresholdSettings;
|
31 | 33 | import org.elasticsearch.cluster.service.ClusterService;
|
32 | 34 | import org.elasticsearch.common.Priority;
|
@@ -138,6 +140,18 @@ public final void startClusters() throws Exception {
|
138 | 140 | assertAcked(followerClient().admin().cluster().updateSettings(updateSettingsRequest).actionGet());
|
139 | 141 | }
|
140 | 142 |
|
| 143 | + /** |
| 144 | + * Follower indices don't get all the settings from leader, for example 'index.unassigned.node_left.delayed_timeout' |
| 145 | + * is not replicated and if tests kill nodes, we have to wait 60s by default... |
| 146 | + */ |
| 147 | + protected void disableDelayedAllocation(String index) { |
| 148 | + UpdateSettingsRequest updateSettingsRequest = new UpdateSettingsRequest(index); |
| 149 | + Settings.Builder settingsBuilder = Settings.builder(); |
| 150 | + settingsBuilder.put(UnassignedInfo.INDEX_DELAYED_NODE_LEFT_TIMEOUT_SETTING.getKey(), 0); |
| 151 | + updateSettingsRequest.settings(settingsBuilder); |
| 152 | + assertAcked(followerClient().admin().indices().updateSettings(updateSettingsRequest).actionGet()); |
| 153 | + } |
| 154 | + |
141 | 155 | @After
|
142 | 156 | public void afterTest() throws Exception {
|
143 | 157 | ensureEmptyWriteBuffers();
|
@@ -350,6 +364,7 @@ protected String getIndexSettings(final int numberOfShards, final int numberOfRe
|
350 | 364 | {
|
351 | 365 | builder.startObject("settings");
|
352 | 366 | {
|
| 367 | + builder.field(UnassignedInfo.INDEX_DELAYED_NODE_LEFT_TIMEOUT_SETTING.getKey(), 0); |
353 | 368 | builder.field("index.number_of_shards", numberOfShards);
|
354 | 369 | builder.field("index.number_of_replicas", numberOfReplicas);
|
355 | 370 | for (final Map.Entry<String, String> additionalSetting : additionalIndexSettings.entrySet()) {
|
|
0 commit comments