You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by ds...@apache.org on 2024/02/17 05:21:15 UTC
(solr) branch branch_9x updated: solr.xml: honor plugin enable=true|false (#2260)
This is an automated email from the ASF dual-hosted git repository.
dsmiley pushed a commit to branch branch_9x
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/branch_9x by this push:
new 7e40daa7ba2 solr.xml: honor plugin enable=true|false (#2260)
7e40daa7ba2 is described below
commit 7e40daa7ba21c59f3ae1e24f44915d208617d2f3
Author: David Smiley <ds...@salesforce.com>
AuthorDate: Fri Feb 16 15:32:24 2024 -0500
solr.xml: honor plugin enable=true|false (#2260)
minor improvement to toggle on/off plugins defined in solr.xml
(cherry picked from commit f7c5ad3efd6988f4bc03cb83af0c2070d5ba82df)
---
.../java/org/apache/solr/core/SolrXmlConfig.java | 22 ++++++++++------------
1 file changed, 10 insertions(+), 12 deletions(-)
diff --git a/solr/core/src/java/org/apache/solr/core/SolrXmlConfig.java b/solr/core/src/java/org/apache/solr/core/SolrXmlConfig.java
index dbe801dddcd..078eb018aa6 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrXmlConfig.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrXmlConfig.java
@@ -655,17 +655,10 @@ public class SolrXmlConfig {
}
private static PluginInfo[] getBackupRepositoryPluginInfos(List<ConfigNode> cfg) {
- if (cfg.isEmpty()) {
- return new PluginInfo[0];
- }
-
- PluginInfo[] configs = new PluginInfo[cfg.size()];
- for (int i = 0; i < cfg.size(); i++) {
- ConfigNode c = cfg.get(i);
- configs[i] = new PluginInfo(c, "BackupRepositoryFactory", true, true);
- }
-
- return configs;
+ return cfg.stream()
+ .map(c -> new PluginInfo(c, "BackupRepositoryFactory", true, true))
+ .filter(PluginInfo::isEnabled)
+ .toArray(PluginInfo[]::new);
}
private static PluginInfo[] getClusterPlugins(SolrResourceLoader loader, ConfigNode root) {
@@ -698,6 +691,7 @@ public class SolrXmlConfig {
List<PluginInfo> plugins =
nodes.stream()
.map(n -> new PluginInfo(n, n.name(), true, true))
+ .filter(PluginInfo::isEnabled)
.collect(Collectors.toList());
// Cluster plugin names must be unique
@@ -800,6 +794,9 @@ public class SolrXmlConfig {
boolean hasJmxReporter = false;
for (ConfigNode node : metrics.getAll("reporter")) {
PluginInfo info = getPluginInfo(node);
+ if (info == null) {
+ continue;
+ }
String clazz = info.className;
if (clazz != null && clazz.equals(SolrJmxReporter.class.getName())) {
hasJmxReporter = true;
@@ -844,6 +841,7 @@ public class SolrXmlConfig {
private static PluginInfo getPluginInfo(ConfigNode cfg) {
if (cfg == null || !cfg.exists()) return null;
- return new PluginInfo(cfg, cfg.name(), false, true);
+ final var pluginInfo = new PluginInfo(cfg, cfg.name(), false, true);
+ return pluginInfo.isEnabled() ? pluginInfo : null;
}
}