shalinmangar commented on a change in pull request #1417: SOLR-12847: 
Auto-create a policy rule that corresponds to maxShardsPerNode
URL: https://github.com/apache/lucene-solr/pull/1417#discussion_r406736277
 
 

 ##########
 File path: 
solr/core/src/java/org/apache/solr/cloud/api/collections/CreateCollectionCmd.java
 ##########
 @@ -407,14 +466,81 @@ public void call(ClusterState clusterState, ZkNodeProps 
message, NamedList resul
           .assignPullReplicas(numPullReplicas)
           .onNodes(nodeList)
           .build();
-      Assign.AssignStrategyFactory assignStrategyFactory = new 
Assign.AssignStrategyFactory(cloudManager);
+      // if Strategy.POLICY is in use AND maxShardsPerNode was specified then 
for back-compat it needs to
+      // be translated into a rule (see SOLR-12847).
+      // Modify the autoscaling rules as needed BEFORE actually calling 
assign, setting configToRestore as
+      // a side-effect to restore the original config if the creation fails
+      if ((strategy == Assign.AssignStrategyFactory.Strategy.POLICY) &&
+          (maxReplicasPerNode != null && maxReplicasPerNode != 
Integer.MAX_VALUE)) {
+        maybeAddMaxReplicasRule(cloudManager, maxReplicasPerNode, 
docCollection, configToRestore);
 
 Review comment:
   I would have preferred to do this outside of this method instead of adding a 
side effect here. That way the addition of the clause as well as its cleanup 
can be in one place.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to