Skip to content

Commit a69f8e1

Browse files
Avoid redundant cluster state build (#112340)
Avoid redundant cluster state build when creating index
1 parent a97b0e2 commit a69f8e1

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

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

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1249,11 +1249,10 @@ static ClusterState clusterStateCreateIndex(
12491249
ClusterBlocks.Builder blocks = createClusterBlocksBuilder(currentState, indexName, clusterBlocks);
12501250
blocks.updateBlocks(indexMetadata);
12511251

1252-
ClusterState updatedState = ClusterState.builder(currentState).blocks(blocks).metadata(newMetadata).build();
1252+
RoutingTable.Builder routingTableBuilder = RoutingTable.builder(shardRoutingRoleStrategy, currentState.routingTable())
1253+
.addAsNew(newMetadata.index(indexName));
12531254

1254-
RoutingTable.Builder routingTableBuilder = RoutingTable.builder(shardRoutingRoleStrategy, updatedState.routingTable())
1255-
.addAsNew(updatedState.metadata().index(indexName));
1256-
return ClusterState.builder(updatedState).routingTable(routingTableBuilder.build()).build();
1255+
return ClusterState.builder(currentState).blocks(blocks).metadata(newMetadata).routingTable(routingTableBuilder).build();
12571256
}
12581257

12591258
static IndexMetadata buildIndexMetadata(

0 commit comments

Comments
 (0)