Skip to content

Commit 1588e9e

Browse files
albertzaharovitsdakrone
authored andcommitted
Remove unused cluster blocks in create index (elastic#112352)
Remove unused cluster blocks in create index
1 parent 4ed1444 commit 1588e9e

File tree

3 files changed

+6
-37
lines changed

3 files changed

+6
-37
lines changed

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

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import org.elasticsearch.action.admin.indices.shrink.ResizeType;
1313
import org.elasticsearch.action.support.ActiveShardCount;
1414
import org.elasticsearch.cluster.ack.ClusterStateUpdateRequest;
15-
import org.elasticsearch.cluster.block.ClusterBlock;
1615
import org.elasticsearch.cluster.metadata.ComposableIndexTemplate;
1716
import org.elasticsearch.cluster.metadata.IndexMetadata;
1817
import org.elasticsearch.common.settings.Settings;
@@ -43,8 +42,6 @@ public class CreateIndexClusterStateUpdateRequest extends ClusterStateUpdateRequ
4342

4443
private final Set<Alias> aliases = new HashSet<>();
4544

46-
private final Set<ClusterBlock> blocks = new HashSet<>();
47-
4845
private ActiveShardCount waitForActiveShards = ActiveShardCount.DEFAULT;
4946

5047
private boolean performReroute = true;
@@ -125,10 +122,6 @@ public Set<Alias> aliases() {
125122
return aliases;
126123
}
127124

128-
public Set<ClusterBlock> blocks() {
129-
return blocks;
130-
}
131-
132125
public Index recoverFrom() {
133126
return recoverFrom;
134127
}
@@ -229,8 +222,6 @@ public String toString() {
229222
+ settings
230223
+ ", aliases="
231224
+ aliases
232-
+ ", blocks="
233-
+ blocks
234225
+ ", waitForActiveShards="
235226
+ waitForActiveShards
236227
+ ", systemDataStreamDescriptor="

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

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import org.elasticsearch.cluster.AckedClusterStateUpdateTask;
2626
import org.elasticsearch.cluster.ClusterState;
2727
import org.elasticsearch.cluster.ClusterStateUpdateTask;
28-
import org.elasticsearch.cluster.block.ClusterBlock;
2928
import org.elasticsearch.cluster.block.ClusterBlockLevel;
3029
import org.elasticsearch.cluster.block.ClusterBlocks;
3130
import org.elasticsearch.cluster.node.DiscoveryNodes;
@@ -514,7 +513,6 @@ private ClusterState applyCreateIndexWithTemporaryService(
514513

515514
ClusterState updated = clusterStateCreateIndex(
516515
currentState,
517-
request.blocks(),
518516
indexMetadata,
519517
metadataTransformer,
520518
allocationService.getShardRoutingRoleStrategy()
@@ -1231,7 +1229,6 @@ public static List<AliasMetadata> resolveAndValidateAliases(
12311229
*/
12321230
static ClusterState clusterStateCreateIndex(
12331231
ClusterState currentState,
1234-
Set<ClusterBlock> clusterBlocks,
12351232
IndexMetadata indexMetadata,
12361233
BiConsumer<Metadata.Builder, IndexMetadata> metadataTransformer,
12371234
ShardRoutingRoleStrategy shardRoutingRoleStrategy
@@ -1245,14 +1242,13 @@ static ClusterState clusterStateCreateIndex(
12451242
newMetadata = currentState.metadata().withAddedIndex(indexMetadata);
12461243
}
12471244

1248-
String indexName = indexMetadata.getIndex().getName();
1249-
ClusterBlocks.Builder blocks = createClusterBlocksBuilder(currentState, indexName, clusterBlocks);
1250-
blocks.updateBlocks(indexMetadata);
1245+
var blocksBuilder = ClusterBlocks.builder().blocks(currentState.blocks());
1246+
blocksBuilder.updateBlocks(indexMetadata);
12511247

1252-
RoutingTable.Builder routingTableBuilder = RoutingTable.builder(shardRoutingRoleStrategy, currentState.routingTable())
1253-
.addAsNew(newMetadata.index(indexName));
1248+
var routingTableBuilder = RoutingTable.builder(shardRoutingRoleStrategy, currentState.routingTable())
1249+
.addAsNew(newMetadata.index(indexMetadata.getIndex().getName()));
12541250

1255-
return ClusterState.builder(currentState).blocks(blocks).metadata(newMetadata).routingTable(routingTableBuilder).build();
1251+
return ClusterState.builder(currentState).blocks(blocksBuilder).metadata(newMetadata).routingTable(routingTableBuilder).build();
12561252
}
12571253

12581254
static IndexMetadata buildIndexMetadata(
@@ -1325,16 +1321,6 @@ private static IndexMetadata.Builder createIndexMetadataBuilder(
13251321
return builder;
13261322
}
13271323

1328-
private static ClusterBlocks.Builder createClusterBlocksBuilder(ClusterState currentState, String index, Set<ClusterBlock> blocks) {
1329-
ClusterBlocks.Builder blocksBuilder = ClusterBlocks.builder().blocks(currentState.blocks());
1330-
if (blocks.isEmpty() == false) {
1331-
for (ClusterBlock block : blocks) {
1332-
blocksBuilder.addIndexBlock(index, block);
1333-
}
1334-
}
1335-
return blocksBuilder;
1336-
}
1337-
13381324
private static void updateIndexMappingsAndBuildSortOrder(
13391325
IndexService indexService,
13401326
CreateIndexClusterStateUpdateRequest request,

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

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -967,13 +967,7 @@ public void testClusterStateCreateIndexThrowsWriteIndexValidationException() thr
967967
assertThat(
968968
expectThrows(
969969
IllegalStateException.class,
970-
() -> clusterStateCreateIndex(
971-
currentClusterState,
972-
Set.of(),
973-
newIndex,
974-
null,
975-
TestShardRoutingRoleStrategies.DEFAULT_ROLE_ONLY
976-
)
970+
() -> clusterStateCreateIndex(currentClusterState, newIndex, null, TestShardRoutingRoleStrategies.DEFAULT_ROLE_ONLY)
977971
).getMessage(),
978972
startsWith("alias [alias1] has more than one write index [")
979973
);
@@ -991,7 +985,6 @@ public void testClusterStateCreateIndex() {
991985

992986
ClusterState updatedClusterState = clusterStateCreateIndex(
993987
currentClusterState,
994-
Set.of(INDEX_READ_ONLY_BLOCK),
995988
newIndexMetadata,
996989
null,
997990
TestShardRoutingRoleStrategies.DEFAULT_ROLE_ONLY
@@ -1037,7 +1030,6 @@ public void testClusterStateCreateIndexWithMetadataTransaction() {
10371030

10381031
ClusterState updatedClusterState = clusterStateCreateIndex(
10391032
currentClusterState,
1040-
Set.of(INDEX_READ_ONLY_BLOCK),
10411033
newIndexMetadata,
10421034
metadataTransformer,
10431035
TestShardRoutingRoleStrategies.DEFAULT_ROLE_ONLY

0 commit comments

Comments
 (0)