You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by cp...@apache.org on 2017/08/11 14:08:13 UTC

lucene-solr:master: SOLR-11195: Require class attribute for shard and cluster metric reporter configuration.

Repository: lucene-solr
Updated Branches:
  refs/heads/master 6e9538c71 -> 3959c53ea


SOLR-11195: Require class attribute for shard and cluster metric reporter configuration.


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/3959c53e
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/3959c53e
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/3959c53e

Branch: refs/heads/master
Commit: 3959c53eafc9e5cc55c48cbf6a5382b0f9bffa75
Parents: 6e9538c
Author: Christine Poerschke <cp...@apache.org>
Authored: Fri Aug 11 12:34:52 2017 +0100
Committer: Christine Poerschke <cp...@apache.org>
Committed: Fri Aug 11 15:07:28 2017 +0100

----------------------------------------------------------------------
 solr/CHANGES.txt                                  |  8 +++++++-
 .../apache/solr/metrics/SolrMetricManager.java    | 18 ++++++------------
 .../src/test-files/solr/solr-solrreporter.xml     |  4 ++--
 3 files changed, 15 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3959c53e/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 5cfd0ea..86eb247 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -52,7 +52,11 @@ Detailed Change List
 Upgrade Notes
 ----------------------
 
-(No Notes)
+* SOLR-11195: shard and cluster metric reporter configuration now requires a class attribute.
+  If a reporter configures the group="shard" attribute then please also configure the
+  class="org.apache.solr.metrics.reporters.solr.SolrShardReporter" attribute.
+  If a reporter configures the group="cluster" attribute then please also configure the
+  class="org.apache.solr.metrics.reporters.solr.SolrClusterReporter" attribute.
 
 New Features
 ----------------------
@@ -141,6 +145,8 @@ Other Changes
 
 * SOLR-11071: Improve TestIntervalFacets.testRandom (Tomás Fernández Löbbe)
 
+* SOLR-11195: Require class attribute for shard and cluster metric reporter configuration. (Christine Poerschke)
+
 ==================  7.0.0 ==================
 
 Versions of Major Components

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3959c53e/solr/core/src/java/org/apache/solr/metrics/SolrMetricManager.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/metrics/SolrMetricManager.java b/solr/core/src/java/org/apache/solr/metrics/SolrMetricManager.java
index 8b17c78..001717c 100644
--- a/solr/core/src/java/org/apache/solr/metrics/SolrMetricManager.java
+++ b/solr/core/src/java/org/apache/solr/metrics/SolrMetricManager.java
@@ -1003,7 +1003,7 @@ public class SolrMetricManager {
     }
   }
 
-  private List<PluginInfo> prepareCloudPlugins(PluginInfo[] pluginInfos, String group, String className,
+  private List<PluginInfo> prepareCloudPlugins(PluginInfo[] pluginInfos, String group,
                                                       Map<String, String> defaultAttributes,
                                                       Map<String, Object> defaultInitArgs) {
     List<PluginInfo> result = new ArrayList<>();
@@ -1015,7 +1015,7 @@ public class SolrMetricManager {
       if (!group.equals(groupAttr)) {
         continue;
       }
-      info = preparePlugin(info, className, defaultAttributes, defaultInitArgs);
+      info = preparePlugin(info, defaultAttributes, defaultInitArgs);
       if (info != null) {
         result.add(info);
       }
@@ -1023,18 +1023,12 @@ public class SolrMetricManager {
     return result;
   }
 
-  private PluginInfo preparePlugin(PluginInfo info, String className, Map<String, String> defaultAttributes,
+  private PluginInfo preparePlugin(PluginInfo info, Map<String, String> defaultAttributes,
                                    Map<String, Object> defaultInitArgs) {
     if (info == null) {
       return null;
     }
     String classNameAttr = info.attributes.get("class");
-    if (className != null) {
-      if (classNameAttr != null && !className.equals(classNameAttr)) {
-        log.warn("Conflicting class name attributes, expected " + className + " but was " + classNameAttr + ", skipping " + info);
-        return null;
-      }
-    }
 
     Map<String, String> attrs = new HashMap<>(info.attributes);
     defaultAttributes.forEach((k, v) -> {
@@ -1042,7 +1036,7 @@ public class SolrMetricManager {
         attrs.put(k, v);
       }
     });
-    attrs.put("class", className);
+    attrs.put("class", classNameAttr);
     Map<String, Object> initArgs = new HashMap<>();
     if (info.initArgs != null) {
       initArgs.putAll(info.initArgs.asMap(10));
@@ -1069,7 +1063,7 @@ public class SolrMetricManager {
 
     String registryName = core.getCoreMetricManager().getRegistryName();
     // collect infos and normalize
-    List<PluginInfo> infos = prepareCloudPlugins(pluginInfos, SolrInfoBean.Group.shard.toString(), SolrShardReporter.class.getName(),
+    List<PluginInfo> infos = prepareCloudPlugins(pluginInfos, SolrInfoBean.Group.shard.toString(),
         attrs, initArgs);
     for (PluginInfo info : infos) {
       try {
@@ -1092,7 +1086,7 @@ public class SolrMetricManager {
     attrs.put("group", SolrInfoBean.Group.cluster.toString());
     Map<String, Object> initArgs = new HashMap<>();
     initArgs.put("period", DEFAULT_CLOUD_REPORTER_PERIOD);
-    List<PluginInfo> infos = prepareCloudPlugins(pluginInfos, SolrInfoBean.Group.cluster.toString(), SolrClusterReporter.class.getName(),
+    List<PluginInfo> infos = prepareCloudPlugins(pluginInfos, SolrInfoBean.Group.cluster.toString(),
         attrs, initArgs);
     String registryName = getRegistryName(SolrInfoBean.Group.cluster);
     for (PluginInfo info : infos) {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3959c53e/solr/core/src/test-files/solr/solr-solrreporter.xml
----------------------------------------------------------------------
diff --git a/solr/core/src/test-files/solr/solr-solrreporter.xml b/solr/core/src/test-files/solr/solr-solrreporter.xml
index a66d9d0..21f8ac1 100644
--- a/solr/core/src/test-files/solr/solr-solrreporter.xml
+++ b/solr/core/src/test-files/solr/solr-solrreporter.xml
@@ -42,12 +42,12 @@
     <reporter name="defaultJmx" class="org.apache.solr.metrics.reporters.SolrJmxReporter">
       <bool name="enabled">false</bool>
     </reporter>
-    <reporter name="test" group="shard">
+    <reporter name="test" group="shard" class="org.apache.solr.metrics.reporters.solr.SolrShardReporter">
       <int name="period">5</int>
       <str name="filter">UPDATE\./update/.*requests</str>
       <str name="filter">QUERY\./select.*requests</str>
     </reporter>
-    <reporter name="test" group="cluster">
+    <reporter name="test" group="cluster" class="org.apache.solr.metrics.reporters.solr.SolrClusterReporter">
       <str name="handler">/admin/metrics/collector</str>
       <int name="period">5</int>
       <lst name="report">