You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ab...@apache.org on 2017/11/17 08:33:51 UTC
[30/40] lucene-solr:jira/solr-11285-sim: SOLR-11285: WIP.
SOLR-11285: WIP.
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/f41b0369
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/f41b0369
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/f41b0369
Branch: refs/heads/jira/solr-11285-sim
Commit: f41b036988139e74effa30662b88370e187ea21d
Parents: 731e2de
Author: Andrzej Bialecki <ab...@apache.org>
Authored: Wed Nov 15 12:52:35 2017 +0100
Committer: Andrzej Bialecki <ab...@apache.org>
Committed: Wed Nov 15 12:52:35 2017 +0100
----------------------------------------------------------------------
.../org/apache/solr/cloud/CreateCollectionCmd.java | 5 +++--
.../cloud/autoscaling/sim/SimCloudManager.java | 17 +++++++++++++++--
.../solrj/cloud/autoscaling/ReplicaInfo.java | 2 +-
3 files changed, 19 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f41b0369/solr/core/src/java/org/apache/solr/cloud/CreateCollectionCmd.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/CreateCollectionCmd.java b/solr/core/src/java/org/apache/solr/cloud/CreateCollectionCmd.java
index 3723a80..e3df9b2 100644
--- a/solr/core/src/java/org/apache/solr/cloud/CreateCollectionCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/CreateCollectionCmd.java
@@ -32,6 +32,7 @@ import java.util.Properties;
import java.util.concurrent.TimeUnit;
import org.apache.solr.client.solrj.cloud.autoscaling.AlreadyExistsException;
+import org.apache.solr.client.solrj.cloud.autoscaling.AutoScalingConfig;
import org.apache.solr.client.solrj.cloud.autoscaling.DistribStateManager;
import org.apache.solr.client.solrj.cloud.autoscaling.Policy;
import org.apache.solr.client.solrj.cloud.autoscaling.PolicyHelper;
@@ -115,9 +116,9 @@ public class CreateCollectionCmd implements Cmd {
int numTlogReplicas = message.getInt(TLOG_REPLICAS, 0);
int numNrtReplicas = message.getInt(NRT_REPLICAS, message.getInt(REPLICATION_FACTOR, numTlogReplicas>0?0:1));
int numPullReplicas = message.getInt(PULL_REPLICAS, 0);
- Map autoScalingJson = Utils.getJson(ocmh.zkStateReader.getZkClient(), SOLR_AUTOSCALING_CONF_PATH, true);
+ AutoScalingConfig autoScalingConfig = ocmh.cloudManager.getDistribStateManager().getAutoScalingConfig();
String policy = message.getStr(Policy.POLICY);
- boolean usePolicyFramework = autoScalingJson.get(Policy.CLUSTER_POLICY) != null || policy != null;
+ boolean usePolicyFramework = !autoScalingConfig.getPolicy().getClusterPolicy().isEmpty() || policy != null;
ShardHandler shardHandler = ocmh.shardHandlerFactory.getShardHandler();
final String async = message.getStr(ASYNC);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f41b0369/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/SimCloudManager.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/SimCloudManager.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/SimCloudManager.java
index 37041c2..fec6e48 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/SimCloudManager.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/SimCloudManager.java
@@ -70,6 +70,7 @@ import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.ContentStreamBase;
import org.apache.solr.common.util.IOUtils;
import org.apache.solr.common.util.NamedList;
+import org.apache.solr.common.util.ObjectCache;
import org.apache.solr.core.CloudConfig;
import org.apache.solr.core.SolrResourceLoader;
import org.apache.solr.request.LocalSolrQueryRequest;
@@ -95,6 +96,7 @@ public class SimCloudManager implements SolrCloudManager {
private final AutoScalingHandler autoScalingHandler;
private final Set<String> liveNodes = ConcurrentHashMap.newKeySet();
private final SimDistributedQueueFactory queueFactory;
+ private final ObjectCache objectCache = new ObjectCache();
private SolrClient solrClient;
private final SimHttpServer httpServer;
@@ -133,6 +135,9 @@ public class SimCloudManager implements SolrCloudManager {
SimCloudManager cloudManager = new SimCloudManager();
for (int i = 1; i <= numNodes; i++) {
Map<String, Object> values = createNodeValues(null);
+ if (i == 1) { // designated Overseer
+ values.put(ImplicitSnitch.NODEROLE, "overseer");
+ }
String nodeId = (String)values.get(ImplicitSnitch.NODE);
cloudManager.getSimClusterStateProvider().simAddNode(nodeId);
cloudManager.getSimNodeStateProvider().simSetNodeValues(nodeId, values);
@@ -183,10 +188,11 @@ public class SimCloudManager implements SolrCloudManager {
values.put(ImplicitSnitch.HOST, host);
values.put(ImplicitSnitch.PORT, port);
values.put(ImplicitSnitch.NODE, nodeId);
- values.put(ImplicitSnitch.CORES, 4);
- values.put(ImplicitSnitch.DISK, 123450000);
+ values.put(ImplicitSnitch.CORES, 2);
+ values.put(ImplicitSnitch.DISK, 1000);
values.put(ImplicitSnitch.SYSLOADAVG, 1.0);
values.put(ImplicitSnitch.HEAPUSAGE, 123450000);
+ values.put("INDEX.sizeInBytes", 12345000);
return values;
}
@@ -250,6 +256,12 @@ public class SimCloudManager implements SolrCloudManager {
// --------- interface methods -----------
+
+ @Override
+ public ObjectCache getObjectCache() {
+ return objectCache;
+ }
+
@Override
public ClusterStateProvider getClusterStateProvider() {
return clusterStateProvider;
@@ -406,6 +418,7 @@ public class SimCloudManager implements SolrCloudManager {
IOUtils.closeQuietly(nodeStateProvider);
IOUtils.closeQuietly(stateManager);
IOUtils.closeQuietly(triggerThread);
+ IOUtils.closeQuietly(objectCache);
triggerThread.interrupt();
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f41b0369/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/ReplicaInfo.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/ReplicaInfo.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/ReplicaInfo.java
index 561c966..930ede8 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/ReplicaInfo.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/ReplicaInfo.java
@@ -36,7 +36,7 @@ public class ReplicaInfo implements MapWriter {
private String node;
private final Map<String, Object> variables = new HashMap<>();
- public ReplicaInfo(String coll,String shard, Replica r, Map<String, Object> vals){
+ public ReplicaInfo(String coll, String shard, Replica r, Map<String, Object> vals) {
this.name = r.getName();
this.core = r.getCoreName();
this.collection = coll;