private void initializePrimaryTerms() { assert primaryTerms == null; if (numberOfShards() < 0) { throw new IllegalStateException("you must set the number of shards before setting/reading primary terms"); } primaryTerms = new long[numberOfShards()]; Arrays.fill(primaryTerms, SequenceNumbers.UNASSIGNED_PRIMARY_TERM); }
} else if (primaryTerms.length != numberOfShards) { throw new IllegalStateException("primaryTerms length is [" + primaryTerms.length + "] but should be equal to number of shards [" + numberOfShards() + "]");
.max() .getAsLong(); for (int shardId = 0; shardId < tmpImdBuilder.numberOfShards(); shardId++) { tmpImdBuilder.primaryTerm(shardId, primaryTerm);
.max() .getAsLong(); for (int shardId = 0; shardId < tmpImdBuilder.numberOfShards(); shardId++) { tmpImdBuilder.primaryTerm(shardId, primaryTerm);
.max() .getAsLong(); for (int shardId = 0; shardId < tmpImdBuilder.numberOfShards(); shardId++) { tmpImdBuilder.primaryTerm(shardId, primaryTerm);
} else if (primaryTerms.length != numberOfShards) { throw new IllegalStateException("primaryTerms length is [" + primaryTerms.length + "] but should be equal to number of shards [" + numberOfShards() + "]");
} else if (primaryTerms.length != numberOfShards) { throw new IllegalStateException("primaryTerms length is [" + primaryTerms.length + "] but should be equal to number of shards [" + numberOfShards() + "]");
@Override public ClusterState execute(ClusterState currentState) { ClusterState.Builder clusterStateBuilder = ClusterState.builder(currentState); DiscoveryNodes discoverNodes = nodes(); if (nodesUpdate) clusterStateBuilder.nodes(discoverNodes); if (currentState.nodes().getSize() != discoverNodes.getSize()) { // update numberOfShards for all indices. MetaData.Builder metaDataBuilder = MetaData.builder(currentState.metaData()); for(Iterator<IndexMetaData> it = currentState.metaData().iterator(); it.hasNext(); ) { IndexMetaData indexMetaData = it.next(); IndexMetaData.Builder indexMetaDataBuilder = IndexMetaData.builder(indexMetaData); indexMetaDataBuilder.numberOfShards(discoverNodes.getSize()); metaDataBuilder.put(indexMetaDataBuilder.build(), false); } clusterStateBuilder.metaData(metaDataBuilder.build()); } return clusterStateBuilder.incrementVersion().build(); }
public ClusterState updateNumberOfShardsAndReplicas(ClusterState currentState) { int numberOfNodes = currentState.nodes().getSize(); if (numberOfNodes == 0) return currentState; // for testing purposes. MetaData.Builder metaDataBuilder = MetaData.builder(currentState.metaData()); for(Iterator<IndexMetaData> it = currentState.metaData().iterator(); it.hasNext(); ) { IndexMetaData indexMetaData = it.next(); IndexMetaData.Builder indexMetaDataBuilder = IndexMetaData.builder(indexMetaData); indexMetaDataBuilder.numberOfShards(numberOfNodes); int rf = replicationFactor(indexMetaData.keyspace()); indexMetaDataBuilder.numberOfReplicas( Math.max(0, rf - 1) ); metaDataBuilder.put(indexMetaDataBuilder.build(), false); } return ClusterState.builder(currentState).metaData(metaDataBuilder.build()).build(); }
private void initializePrimaryTerms() { assert primaryTerms == null; if (numberOfShards() < 0) { throw new IllegalStateException("you must set the number of shards before setting/reading primary terms"); } primaryTerms = new long[numberOfShards()]; }
/** * Returns number of shards that should be used for routing. By default this method will return the number of shards * for this index. * * @see #setRoutingNumShards(int) * @see #numberOfShards() */ public int getRoutingNumShards() { return routingNumShards == null ? numberOfShards() : routingNumShards; }
private void initializePrimaryTerms() { assert primaryTerms == null; if (numberOfShards() < 0) { throw new IllegalStateException("you must set the number of shards before setting/reading primary terms"); } primaryTerms = new long[numberOfShards()]; }
protected IndexSettings createIndexSettings() { return new IndexSettings( IndexMetaData.builder("_index").settings(Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT)) .numberOfShards(1) .numberOfReplicas(0) .creationDate(System.currentTimeMillis()) .build(), Settings.EMPTY ); }
/** * Returns number of shards that should be used for routing. By default this method will return the number of shards * for this index. * * @see #setRoutingNumShards(int) * @see #numberOfShards() */ public int getRoutingNumShards() { return routingNumShards == null ? numberOfShards() : routingNumShards; }
/** * Returns number of shards that should be used for routing. By default this method will return the number of shards * for this index. * * @see #setRoutingNumShards(int) * @see #numberOfShards() */ public int getRoutingNumShards() { return routingNumShards == null ? numberOfShards() : routingNumShards; }