Skip to content

Commit 07a394a

Browse files
committed
protected from changing teh number of shards in update settings
1 parent a321200 commit 07a394a

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

modules/elasticsearch/src/main/java/org/elasticsearch/cluster/metadata/MetaDataUpdateSettingsService.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,12 @@
1919

2020
package org.elasticsearch.cluster.metadata;
2121

22-
import org.elasticsearch.cluster.*;
22+
import org.elasticsearch.ElasticSearchIllegalArgumentException;
23+
import org.elasticsearch.cluster.ClusterChangedEvent;
24+
import org.elasticsearch.cluster.ClusterService;
25+
import org.elasticsearch.cluster.ClusterState;
26+
import org.elasticsearch.cluster.ClusterStateListener;
27+
import org.elasticsearch.cluster.ProcessedClusterStateUpdateTask;
2328
import org.elasticsearch.cluster.routing.RoutingTable;
2429
import org.elasticsearch.common.Booleans;
2530
import org.elasticsearch.common.component.AbstractComponent;
@@ -105,6 +110,10 @@ public void updateSettings(final Settings pSettings, final String[] indices, fin
105110
}
106111
}
107112
final Settings settings = updatedSettingsBuilder.build();
113+
if (settings.get(IndexMetaData.SETTING_NUMBER_OF_SHARDS) != null) {
114+
listener.onFailure(new ElasticSearchIllegalArgumentException("can't change the number of shards for an index"));
115+
return;
116+
}
108117
clusterService.submitStateUpdateTask("update-settings", new ProcessedClusterStateUpdateTask() {
109118
@Override public ClusterState execute(ClusterState currentState) {
110119
try {

0 commit comments

Comments
 (0)