dsmiley commented on code in PR #2126:
URL: https://github.com/apache/solr/pull/2126#discussion_r1445581541


##########
solr/core/src/java/org/apache/solr/core/NodeConfig.java:
##########
@@ -223,17 +221,23 @@ private NodeConfig(
 
     if (this.clusterSingletonPlugins != null
         && this.clusterSingletonPlugins.length > 0
-        && 
!ClusterPluginsSourceConfigurator.resolveClassName(this.clusterPluginsSource)
+        && !ClusterPluginsSourceConfigurator.resolveClassName()
             .equals(NodeConfigClusterPluginsSource.class.getName())) {
       throw new SolrException(
           ErrorCode.SERVER_ERROR,
-          "clusterSingleton section found in solr.xml but clusterPluginsSource 
is not NodeConfigClusterPluginsSource");
+          "clusterSingleton section found in solr.xml but the property "
+              + CONFIG_EDITING_DISABLED_ARG
+              + " is set to false. clusterSingleton plugins may only be 
declared in solr.xml with immutable configs.");
     }
 
     setupSharedLib();
     initModules();
   }
 
+  public static boolean isImmutableConfigSet() {

Review Comment:
   My proposal is that this *not* be configSet specific.  So simply rename it 
to be more general.  Also FYI note that upstream there's a new sys-prop/env-var 
system and a dev list discussion.



##########
solr/core/src/java/org/apache/solr/core/NodeConfig.java:
##########
@@ -223,17 +221,23 @@ private NodeConfig(
 
     if (this.clusterSingletonPlugins != null
         && this.clusterSingletonPlugins.length > 0

Review Comment:
   Do we need fields for clusterSingletonPlugins specifically?  Remember we're 
soon expanding this to other types like replica placement and hopefully more.  
Could there be a Map of node/cluster/container plugins instead, in other words? 
 This way you're not singling out one specific type here in this check.



##########
solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java:
##########
@@ -104,9 +105,6 @@
 public class SolrConfigHandler extends RequestHandlerBase
     implements SolrCoreAware, PermissionNameProvider {
   private static final Logger log = 
LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
-  public static final String CONFIGSET_EDITING_DISABLED_ARG = 
"disable.configEdit";

Review Comment:
   @janhoy if you didn't notice, we're elevating this very internal 
undocumented sys prop to node level to increase the scope beyond config editing 
of a core live to also include disabling cluster config edit.  Obviously the 
name of this sys prop is poor and your new efforts to standardize suggest we 
should take the opportunity to have a nicer name?



-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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

Reply via email to