|
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;
|
@@ -142,6 +144,18 @@ public final void startClusters() throws Exception {
|
142 | 144 | assertAcked(followerClient().admin().cluster().updateSettings(updateSettingsRequest).actionGet());
|
143 | 145 | }
|
144 | 146 |
|
| 147 | + /** |
| 148 | + * Follower indices don't get all the settings from leader, for example 'index.unassigned.node_left.delayed_timeout' |
| 149 | + * is not replicated and if tests kill nodes, we have to wait 60s by default... |
| 150 | + */ |
| 151 | + protected void disableDelayedAllocation(String index) { |
| 152 | + UpdateSettingsRequest updateSettingsRequest = new UpdateSettingsRequest(index); |
| 153 | + Settings.Builder settingsBuilder = Settings.builder(); |
| 154 | + settingsBuilder.put(UnassignedInfo.INDEX_DELAYED_NODE_LEFT_TIMEOUT_SETTING.getKey(), 0); |
| 155 | + updateSettingsRequest.settings(settingsBuilder); |
| 156 | + assertAcked(followerClient().admin().indices().updateSettings(updateSettingsRequest).actionGet()); |
| 157 | + } |
| 158 | + |
145 | 159 | @After
|
146 | 160 | public void afterTest() throws Exception {
|
147 | 161 | ensureEmptyWriteBuffers();
|
@@ -355,6 +369,7 @@ protected String getIndexSettings(final int numberOfShards, final int numberOfRe
|
355 | 369 | {
|
356 | 370 | builder.startObject("settings");
|
357 | 371 | {
|
| 372 | + builder.field(UnassignedInfo.INDEX_DELAYED_NODE_LEFT_TIMEOUT_SETTING.getKey(), 0); |
358 | 373 | builder.field("index.number_of_shards", numberOfShards);
|
359 | 374 | builder.field("index.number_of_replicas", numberOfReplicas);
|
360 | 375 | for (final Map.Entry<String, String> additionalSetting : additionalIndexSettings.entrySet()) {
|
|
0 commit comments