From e7d80b8244337555086bdabdcf38d9efa5d9b192 Mon Sep 17 00:00:00 2001 From: kimchy Date: Wed, 14 Jul 2010 14:29:56 +0300 Subject: [PATCH] remove max_shards_per_node setting (actually, you could not set it even...), will be revisted when proper SLA based shard allocation will be implemented --- .../cluster/metadata/MetaData.java | 31 ++----------------- .../cluster/routing/RoutingNode.java | 2 +- .../elasticsearch/gateway/GatewayService.java | 3 +- .../cluster/state/RestClusterStateAction.java | 1 - .../metadata/ToAndFromJsonMetaDataTests.java | 2 -- 5 files changed, 4 insertions(+), 35 deletions(-) diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/cluster/metadata/MetaData.java b/modules/elasticsearch/src/main/java/org/elasticsearch/cluster/metadata/MetaData.java index a58a98e193c..8fe4c88bff9 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/cluster/metadata/MetaData.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/cluster/metadata/MetaData.java @@ -51,9 +51,6 @@ public class MetaData implements Iterable { private final ImmutableMap indices; - // limits the number of shards per node - private final int maxNumberOfShardsPerNode; - private final transient int totalNumberOfShards; private final boolean recoveredFromGateway; @@ -64,10 +61,9 @@ public class MetaData implements Iterable { private final ImmutableMap aliasAndIndexToIndexMap; private final ImmutableMap> aliasAndIndexToIndexMap2; - private MetaData(ImmutableMap indices, boolean recoveredFromGateway, int maxNumberOfShardsPerNode) { + private MetaData(ImmutableMap indices, boolean recoveredFromGateway) { this.indices = ImmutableMap.copyOf(indices); this.recoveredFromGateway = recoveredFromGateway; - this.maxNumberOfShardsPerNode = maxNumberOfShardsPerNode; int totalNumberOfShards = 0; for (IndexMetaData indexMetaData : indices.values()) { totalNumberOfShards += indexMetaData.totalNumberOfShards(); @@ -212,14 +208,6 @@ public class MetaData implements Iterable { return indices(); } - public int maxNumberOfShardsPerNode() { - return this.maxNumberOfShardsPerNode; - } - - public int getMaxNumberOfShardsPerNode() { - return maxNumberOfShardsPerNode(); - } - public int totalNumberOfShards() { return this.totalNumberOfShards; } @@ -238,9 +226,6 @@ public class MetaData implements Iterable { public static class Builder { - // limits the number of shards per node - private int maxNumberOfShardsPerNode = 100; - private MapBuilder indices = newMapBuilder(); private boolean recoveredFromGateway = false; @@ -269,11 +254,6 @@ public class MetaData implements Iterable { return this; } - public Builder maxNumberOfShardsPerNode(int maxNumberOfShardsPerNode) { - this.maxNumberOfShardsPerNode = maxNumberOfShardsPerNode; - return this; - } - /** * Indicates that this cluster state has been recovered from the gateawy. */ @@ -283,7 +263,7 @@ public class MetaData implements Iterable { } public MetaData build() { - return new MetaData(indices.immutableMap(), recoveredFromGateway, maxNumberOfShardsPerNode); + return new MetaData(indices.immutableMap(), recoveredFromGateway); } public static String toXContent(MetaData metaData) throws IOException { @@ -296,7 +276,6 @@ public class MetaData implements Iterable { public static void toXContent(MetaData metaData, XContentBuilder builder, ToXContent.Params params) throws IOException { builder.startObject("meta-data"); - builder.field("max_number_of_shards_per_node", metaData.maxNumberOfShardsPerNode()); builder.startObject("indices"); for (IndexMetaData indexMetaData : metaData) { @@ -325,10 +304,6 @@ public class MetaData implements Iterable { builder.put(IndexMetaData.Builder.fromXContent(parser, globalSettings)); } } - } else if (token.isValue()) { - if ("max_number_of_shards_per_node".equals(currentFieldName)) { - builder.maxNumberOfShardsPerNode(parser.intValue()); - } } } return builder.build(); @@ -336,7 +311,6 @@ public class MetaData implements Iterable { public static MetaData readFrom(StreamInput in, @Nullable Settings globalSettings) throws IOException { Builder builder = new Builder(); - builder.maxNumberOfShardsPerNode(in.readInt()); // we only serialize it using readFrom, not in to/from XContent builder.recoveredFromGateway = in.readBoolean(); int size = in.readVInt(); @@ -347,7 +321,6 @@ public class MetaData implements Iterable { } public static void writeTo(MetaData metaData, StreamOutput out) throws IOException { - out.writeInt(metaData.maxNumberOfShardsPerNode()); out.writeBoolean(metaData.recoveredFromGateway()); out.writeVInt(metaData.indices.size()); for (IndexMetaData indexMetaData : metaData) { diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/cluster/routing/RoutingNode.java b/modules/elasticsearch/src/main/java/org/elasticsearch/cluster/routing/RoutingNode.java index e412cdb4b26..beace1d9b3c 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/cluster/routing/RoutingNode.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/cluster/routing/RoutingNode.java @@ -120,7 +120,7 @@ public class RoutingNode implements Iterable { } public boolean canAllocate(MetaData metaData, RoutingTable routingTable) { - return shards().size() < metaData.maxNumberOfShardsPerNode(); + return true; } public boolean canAllocate(ShardRouting requested) { diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/gateway/GatewayService.java b/modules/elasticsearch/src/main/java/org/elasticsearch/gateway/GatewayService.java index 0722fbe9e5e..1bd63efee26 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/gateway/GatewayService.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/gateway/GatewayService.java @@ -236,8 +236,7 @@ public class GatewayService extends AbstractLifecycleComponent i private void updateClusterStateFromGateway(final MetaData fMetaData, final CountDownLatch latch) { clusterService.submitStateUpdateTask("gateway (recovered meta-data)", new ProcessedClusterStateUpdateTask() { @Override public ClusterState execute(ClusterState currentState) { - MetaData.Builder metaDataBuilder = newMetaDataBuilder() - .metaData(currentState.metaData()).maxNumberOfShardsPerNode(fMetaData.maxNumberOfShardsPerNode()); + MetaData.Builder metaDataBuilder = newMetaDataBuilder().metaData(currentState.metaData()); // mark the metadata as read from gateway metaDataBuilder.markAsRecoveredFromGateway(); return newClusterStateBuilder().state(currentState).metaData(metaDataBuilder).build(); diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/rest/action/admin/cluster/state/RestClusterStateAction.java b/modules/elasticsearch/src/main/java/org/elasticsearch/rest/action/admin/cluster/state/RestClusterStateAction.java index 9dcbc8d4473..213afb85723 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/rest/action/admin/cluster/state/RestClusterStateAction.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/rest/action/admin/cluster/state/RestClusterStateAction.java @@ -116,7 +116,6 @@ public class RestClusterStateAction extends BaseRestHandler { // meta data builder.startObject("metadata"); - builder.field("max_number_of_shards_per_node", state.metaData().maxNumberOfShardsPerNode()); builder.startObject("indices"); for (IndexMetaData indexMetaData : state.metaData()) { builder.startObject(indexMetaData.index()); diff --git a/modules/elasticsearch/src/test/java/org/elasticsearch/cluster/metadata/ToAndFromJsonMetaDataTests.java b/modules/elasticsearch/src/test/java/org/elasticsearch/cluster/metadata/ToAndFromJsonMetaDataTests.java index 620120ced2a..2c397dfec8c 100644 --- a/modules/elasticsearch/src/test/java/org/elasticsearch/cluster/metadata/ToAndFromJsonMetaDataTests.java +++ b/modules/elasticsearch/src/test/java/org/elasticsearch/cluster/metadata/ToAndFromJsonMetaDataTests.java @@ -40,7 +40,6 @@ public class ToAndFromJsonMetaDataTests { @Test public void testSimpleJsonFromAndTo() throws IOException { MetaData metaData = newMetaDataBuilder() - .maxNumberOfShardsPerNode(2) .put(newIndexMetaDataBuilder("test1") .numberOfShards(1) .numberOfReplicas(2)) @@ -64,7 +63,6 @@ public class ToAndFromJsonMetaDataTests { System.out.println("ToJson: " + metaDataSource); MetaData parsedMetaData = MetaData.Builder.fromXContent(XContentFactory.xContent(XContentType.JSON).createParser(metaDataSource), null); - assertThat(parsedMetaData.maxNumberOfShardsPerNode(), equalTo(2)); IndexMetaData indexMetaData = parsedMetaData.index("test1"); assertThat(indexMetaData.numberOfShards(), equalTo(1));