Skip to content

Commit 383d7b7

Browse files
Cleanup Dead Code in Index Creation (#44784) (#44822)
* Cleanup Dead Code in Index Creation * This is all unused and the state of a create request is always `OPEN`
1 parent 53f409e commit 383d7b7

File tree

7 files changed

+22
-55
lines changed

7 files changed

+22
-55
lines changed

server/src/main/java/org/elasticsearch/action/admin/indices/create/CreateIndexClusterStateUpdateRequest.java

+1-24
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import org.elasticsearch.cluster.metadata.IndexMetaData;
2828
import org.elasticsearch.common.settings.Settings;
2929
import org.elasticsearch.index.Index;
30-
import org.elasticsearch.transport.TransportMessage;
3130

3231
import java.util.HashMap;
3332
import java.util.HashSet;
@@ -39,16 +38,13 @@
3938
*/
4039
public class CreateIndexClusterStateUpdateRequest extends ClusterStateUpdateRequest<CreateIndexClusterStateUpdateRequest> {
4140

42-
private final TransportMessage originalMessage;
4341
private final String cause;
4442
private final String index;
4543
private final String providedName;
4644
private Index recoverFrom;
4745
private ResizeType resizeType;
4846
private boolean copySettings;
4947

50-
private IndexMetaData.State state = IndexMetaData.State.OPEN;
51-
5248
private Settings settings = Settings.Builder.EMPTY_SETTINGS;
5349

5450
private final Map<String, String> mappings = new HashMap<>();
@@ -59,8 +55,7 @@ public class CreateIndexClusterStateUpdateRequest extends ClusterStateUpdateRequ
5955

6056
private ActiveShardCount waitForActiveShards = ActiveShardCount.DEFAULT;
6157

62-
public CreateIndexClusterStateUpdateRequest(TransportMessage originalMessage, String cause, String index, String providedName) {
63-
this.originalMessage = originalMessage;
58+
public CreateIndexClusterStateUpdateRequest(String cause, String index, String providedName) {
6459
this.cause = cause;
6560
this.index = index;
6661
this.providedName = providedName;
@@ -81,16 +76,6 @@ public CreateIndexClusterStateUpdateRequest aliases(Set<Alias> aliases) {
8176
return this;
8277
}
8378

84-
public CreateIndexClusterStateUpdateRequest blocks(Set<ClusterBlock> blocks) {
85-
this.blocks.addAll(blocks);
86-
return this;
87-
}
88-
89-
public CreateIndexClusterStateUpdateRequest state(IndexMetaData.State state) {
90-
this.state = state;
91-
return this;
92-
}
93-
9479
public CreateIndexClusterStateUpdateRequest recoverFrom(Index recoverFrom) {
9580
this.recoverFrom = recoverFrom;
9681
return this;
@@ -111,10 +96,6 @@ public CreateIndexClusterStateUpdateRequest copySettings(final boolean copySetti
11196
return this;
11297
}
11398

114-
public TransportMessage originalMessage() {
115-
return originalMessage;
116-
}
117-
11899
public String cause() {
119100
return cause;
120101
}
@@ -123,10 +104,6 @@ public String index() {
123104
return index;
124105
}
125106

126-
public IndexMetaData.State state() {
127-
return state;
128-
}
129-
130107
public Settings settings() {
131108
return settings;
132109
}

server/src/main/java/org/elasticsearch/action/admin/indices/create/TransportCreateIndexAction.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ protected void masterOperation(final CreateIndexRequest request, final ClusterSt
7777

7878
final String indexName = indexNameExpressionResolver.resolveDateMathExpression(request.index());
7979
final CreateIndexClusterStateUpdateRequest updateRequest =
80-
new CreateIndexClusterStateUpdateRequest(request, cause, indexName, request.index())
80+
new CreateIndexClusterStateUpdateRequest(cause, indexName, request.index())
8181
.ackTimeout(request.timeout()).masterNodeTimeout(request.masterNodeTimeout())
8282
.settings(request.settings()).mappings(request.mappings())
8383
.aliases(request.aliases())

server/src/main/java/org/elasticsearch/action/admin/indices/rollover/TransportRolloverAction.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ static CreateIndexClusterStateUpdateRequest prepareCreateIndexRequest(final Stri
289289
final CreateIndexRequest createIndexRequest = rolloverRequest.getCreateIndexRequest();
290290
createIndexRequest.cause("rollover_index");
291291
createIndexRequest.index(targetIndexName);
292-
return new CreateIndexClusterStateUpdateRequest(createIndexRequest,
292+
return new CreateIndexClusterStateUpdateRequest(
293293
"rollover_index", targetIndexName, providedIndexName)
294294
.ackTimeout(createIndexRequest.timeout())
295295
.masterNodeTimeout(createIndexRequest.masterNodeTimeout())

server/src/main/java/org/elasticsearch/action/admin/indices/shrink/TransportResizeAction.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ static CreateIndexClusterStateUpdateRequest prepareCreateIndexRequest(final Resi
173173
settingsBuilder.put("index.number_of_shards", numShards);
174174
targetIndex.settings(settingsBuilder);
175175

176-
return new CreateIndexClusterStateUpdateRequest(targetIndex, cause, targetIndex.index(), targetIndexName)
176+
return new CreateIndexClusterStateUpdateRequest(cause, targetIndex.index(), targetIndexName)
177177
// mappings are updated on the node when creating in the shards, this prevents race-conditions since all mapping must be
178178
// applied once we took the snapshot and if somebody messes things up and switches the index read/write and adds docs we
179179
// miss the mappings for everything is corrupted and hard to debug

server/src/main/java/org/elasticsearch/cluster/metadata/MetaDataCreateIndexService.java

+12-21
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
import org.elasticsearch.cluster.block.ClusterBlock;
4040
import org.elasticsearch.cluster.block.ClusterBlockLevel;
4141
import org.elasticsearch.cluster.block.ClusterBlocks;
42-
import org.elasticsearch.cluster.metadata.IndexMetaData.State;
4342
import org.elasticsearch.cluster.node.DiscoveryNodes;
4443
import org.elasticsearch.cluster.routing.IndexRoutingTable;
4544
import org.elasticsearch.cluster.routing.RoutingTable;
@@ -294,8 +293,6 @@ public ClusterState execute(ClusterState currentState) throws Exception {
294293
List<IndexTemplateMetaData> templates =
295294
MetaDataIndexTemplateService.findTemplates(currentState.metaData(), request.index());
296295

297-
Map<String, Map<String, String>> customs = new HashMap<>();
298-
299296
// add the request mapping
300297
Map<String, Map<String, Object>> mappings = new HashMap<>();
301298

@@ -542,11 +539,7 @@ public ClusterState execute(ClusterState currentState) throws Exception {
542539
indexMetaDataBuilder.putAlias(aliasMetaData);
543540
}
544541

545-
for (Map.Entry<String, Map<String, String>> customEntry : customs.entrySet()) {
546-
indexMetaDataBuilder.putCustom(customEntry.getKey(), customEntry.getValue());
547-
}
548-
549-
indexMetaDataBuilder.state(request.state());
542+
indexMetaDataBuilder.state(IndexMetaData.State.OPEN);
550543

551544
final IndexMetaData indexMetaData;
552545
try {
@@ -577,13 +570,11 @@ public ClusterState execute(ClusterState currentState) throws Exception {
577570

578571
ClusterState updatedState = ClusterState.builder(currentState).blocks(blocks).metaData(newMetaData).build();
579572

580-
if (request.state() == State.OPEN) {
581-
RoutingTable.Builder routingTableBuilder = RoutingTable.builder(updatedState.routingTable())
582-
.addAsNew(updatedState.metaData().index(request.index()));
583-
updatedState = allocationService.reroute(
584-
ClusterState.builder(updatedState).routingTable(routingTableBuilder.build()).build(),
585-
"index [" + request.index() + "] created");
586-
}
573+
RoutingTable.Builder routingTableBuilder = RoutingTable.builder(updatedState.routingTable())
574+
.addAsNew(updatedState.metaData().index(request.index()));
575+
updatedState = allocationService.reroute(
576+
ClusterState.builder(updatedState).routingTable(routingTableBuilder.build()).build(),
577+
"index [" + request.index() + "] created");
587578
removalExtraInfo = "cleaning up after validating index on master";
588579
removalReason = IndexRemovalReason.NO_LONGER_ASSIGNED;
589580
return updatedState;
@@ -626,11 +617,11 @@ public void onFailure(String source, Exception e) {
626617

627618
private void validate(CreateIndexClusterStateUpdateRequest request, ClusterState state) {
628619
validateIndexName(request.index(), state);
629-
validateIndexSettings(request.index(), request.settings(), state, forbidPrivateIndexSettings);
620+
validateIndexSettings(request.index(), request.settings(), forbidPrivateIndexSettings);
630621
}
631622

632-
public void validateIndexSettings(String indexName, final Settings settings, final ClusterState clusterState,
633-
final boolean forbidPrivateIndexSettings) throws IndexCreationException {
623+
public void validateIndexSettings(String indexName, final Settings settings, final boolean forbidPrivateIndexSettings)
624+
throws IndexCreationException {
634625
List<String> validationErrors = getIndexSettingsValidationErrors(settings, forbidPrivateIndexSettings);
635626

636627
if (validationErrors.isEmpty() == false) {
@@ -736,9 +727,9 @@ static void validateSplitIndex(ClusterState state, String sourceIndex,
736727

737728
}
738729

739-
static IndexMetaData validateResize(ClusterState state, String sourceIndex,
740-
Set<String> targetIndexMappingsTypes, String targetIndexName,
741-
Settings targetIndexSettings) {
730+
private static IndexMetaData validateResize(ClusterState state, String sourceIndex,
731+
Set<String> targetIndexMappingsTypes, String targetIndexName,
732+
Settings targetIndexSettings) {
742733
if (state.metaData().hasIndex(targetIndexName)) {
743734
throw new ResourceAlreadyExistsException(state.metaData().index(targetIndexName).getIndex());
744735
}

server/src/main/java/org/elasticsearch/snapshots/RestoreService.java

+1-4
Original file line numberDiff line numberDiff line change
@@ -273,10 +273,7 @@ public ClusterState execute(ClusterState currentState) {
273273
// Index doesn't exist - create it and start recovery
274274
// Make sure that the index we are about to create has a validate name
275275
MetaDataCreateIndexService.validateIndexName(renamedIndexName, currentState);
276-
createIndexService.validateIndexSettings(renamedIndexName,
277-
snapshotIndexMetaData.getSettings(),
278-
currentState,
279-
false);
276+
createIndexService.validateIndexSettings(renamedIndexName, snapshotIndexMetaData.getSettings(), false);
280277
IndexMetaData.Builder indexMdBuilder = IndexMetaData.builder(snapshotIndexMetaData)
281278
.state(IndexMetaData.State.OPEN)
282279
.index(renamedIndexName);

server/src/test/java/org/elasticsearch/cluster/metadata/IndexCreationTaskTests.java

+5-3
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
import org.elasticsearch.test.ESTestCase;
5656
import org.hamcrest.Matchers;
5757
import org.mockito.ArgumentCaptor;
58+
import org.mockito.stubbing.Answer;
5859

5960
import java.io.IOException;
6061
import java.util.Arrays;
@@ -71,7 +72,9 @@
7172
import static org.hamcrest.Matchers.equalTo;
7273
import static org.hamcrest.Matchers.not;
7374
import static org.hamcrest.Matchers.startsWith;
75+
import static org.mockito.Matchers.any;
7476
import static org.mockito.Matchers.anyObject;
77+
import static org.mockito.Matchers.anyString;
7578
import static org.mockito.Mockito.anyMap;
7679
import static org.mockito.Mockito.doThrow;
7780
import static org.mockito.Mockito.eq;
@@ -236,10 +239,7 @@ public void testTemplateOrder2() throws Exception {
236239
}
237240

238241
public void testRequestStateOpen() throws Exception {
239-
when(request.state()).thenReturn(IndexMetaData.State.OPEN);
240-
241242
executeTask();
242-
243243
verify(allocationService, times(1)).reroute(anyObject(), anyObject());
244244
}
245245

@@ -491,5 +491,7 @@ private void setupIndicesService() throws Exception {
491491
when(service.getIndexEventListener()).thenReturn(mock(IndexEventListener.class));
492492

493493
when(indicesService.createIndex(anyObject(), anyObject())).thenReturn(service);
494+
when(allocationService.reroute(any(ClusterState.class), anyString())).thenAnswer(
495+
(Answer<ClusterState>) invocationOnMock -> (ClusterState) invocationOnMock.getArguments()[0]);
494496
}
495497
}

0 commit comments

Comments
 (0)