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;