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/04/10 19:13:54 UTC

lucene-solr:jira/solr-9959: SOLR-9959 Fix a few more test issues. Add a test for "enabled" flag.

Repository: lucene-solr
Updated Branches:
  refs/heads/jira/solr-9959 4c774f1dc -> 7591eaa49


SOLR-9959 Fix a few more test issues. Add a test for "enabled" flag.


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

Branch: refs/heads/jira/solr-9959
Commit: 7591eaa4935ada18c2eb0ba6cc4df609bb3c1aaf
Parents: 4c774f1
Author: Andrzej Bialecki <ab...@apache.org>
Authored: Mon Apr 10 21:13:08 2017 +0200
Committer: Andrzej Bialecki <ab...@apache.org>
Committed: Mon Apr 10 21:13:08 2017 +0200

----------------------------------------------------------------------
 .../metrics/reporters/SolrGraphiteReporter.java |  1 -
 .../solr/metrics/reporters/SolrJmxReporter.java |  1 -
 .../reporters/solr/SolrClusterReporter.java     |  4 +-
 .../reporters/solr/SolrShardReporter.java       |  3 --
 .../solr/metrics/SolrMetricReporterTest.java    |  2 +-
 .../metrics/reporters/SolrJmxReporterTest.java  | 42 ++++++++++++++++----
 6 files changed, 37 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7591eaa4/solr/core/src/java/org/apache/solr/metrics/reporters/SolrGraphiteReporter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/metrics/reporters/SolrGraphiteReporter.java b/solr/core/src/java/org/apache/solr/metrics/reporters/SolrGraphiteReporter.java
index 48416ce..96eeac9 100644
--- a/solr/core/src/java/org/apache/solr/metrics/reporters/SolrGraphiteReporter.java
+++ b/solr/core/src/java/org/apache/solr/metrics/reporters/SolrGraphiteReporter.java
@@ -45,7 +45,6 @@ public class SolrGraphiteReporter extends SolrMetricReporter {
   private String instancePrefix = null;
   private List<String> filters = new ArrayList<>();
   private GraphiteReporter reporter = null;
-  private boolean enabled = true;
 
   private static final MetricServiceRegistry<GraphiteSender> serviceRegistry = new MetricServiceRegistry<>();
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7591eaa4/solr/core/src/java/org/apache/solr/metrics/reporters/SolrJmxReporter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/metrics/reporters/SolrJmxReporter.java b/solr/core/src/java/org/apache/solr/metrics/reporters/SolrJmxReporter.java
index edbc17c..e7869e5 100644
--- a/solr/core/src/java/org/apache/solr/metrics/reporters/SolrJmxReporter.java
+++ b/solr/core/src/java/org/apache/solr/metrics/reporters/SolrJmxReporter.java
@@ -64,7 +64,6 @@ public class SolrJmxReporter extends SolrMetricReporter {
   private MetricRegistry registry;
   private MBeanServer mBeanServer;
   private MetricsMapListener listener;
-  private boolean enabled = true;
 
   /**
    * Creates a new instance of {@link SolrJmxReporter}.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7591eaa4/solr/core/src/java/org/apache/solr/metrics/reporters/solr/SolrClusterReporter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/metrics/reporters/solr/SolrClusterReporter.java b/solr/core/src/java/org/apache/solr/metrics/reporters/solr/SolrClusterReporter.java
index 30d31d9..c437457 100644
--- a/solr/core/src/java/org/apache/solr/metrics/reporters/solr/SolrClusterReporter.java
+++ b/solr/core/src/java/org/apache/solr/metrics/reporters/solr/SolrClusterReporter.java
@@ -180,9 +180,6 @@ public class SolrClusterReporter extends SolrMetricReporter {
 
   @Override
   protected void validate() throws IllegalStateException {
-    if (period < 1) {
-      log.info("Turning off node reporter, period=" + period);
-    }
     if (reports.isEmpty()) { // set defaults
       reports = DEFAULT_REPORTS;
     }
@@ -209,6 +206,7 @@ public class SolrClusterReporter extends SolrMetricReporter {
       return;
     }
     if (period < 1) { // don't start it
+      log.info("Turning off node reporter, period=" + period);
       return;
     }
     HttpClient httpClient = cc.getUpdateShardHandler().getHttpClient();

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7591eaa4/solr/core/src/java/org/apache/solr/metrics/reporters/solr/SolrShardReporter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/metrics/reporters/solr/SolrShardReporter.java b/solr/core/src/java/org/apache/solr/metrics/reporters/solr/SolrShardReporter.java
index 6cc5a07..b36c596 100644
--- a/solr/core/src/java/org/apache/solr/metrics/reporters/solr/SolrShardReporter.java
+++ b/solr/core/src/java/org/apache/solr/metrics/reporters/solr/SolrShardReporter.java
@@ -114,9 +114,6 @@ public class SolrShardReporter extends SolrMetricReporter {
 
   @Override
   protected void validate() throws IllegalStateException {
-    if (period < 1) {
-      log.info("Turning off shard reporter, period=" + period);
-    }
     if (filters.isEmpty()) {
       filters = DEFAULT_FILTERS;
     }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7591eaa4/solr/core/src/test/org/apache/solr/metrics/SolrMetricReporterTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/metrics/SolrMetricReporterTest.java b/solr/core/src/test/org/apache/solr/metrics/SolrMetricReporterTest.java
index eb9e32b..f3359cc 100644
--- a/solr/core/src/test/org/apache/solr/metrics/SolrMetricReporterTest.java
+++ b/solr/core/src/test/org/apache/solr/metrics/SolrMetricReporterTest.java
@@ -42,7 +42,7 @@ public class SolrMetricReporterTest extends LuceneTestCase {
     Map<String, Object> attrs = new HashMap<>();
     attrs.put(FieldType.CLASS_NAME, MockMetricReporter.class.getName());
     attrs.put(CoreAdminParams.NAME, TestUtil.randomUnicodeString(random));
-    attrs.put("enabled", String.valueOf(random.nextBoolean()));
+    attrs.put("enabled", random.nextBoolean());
 
     boolean shouldDefineConfigurable = random.nextBoolean();
     String configurable = TestUtil.randomUnicodeString(random);

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7591eaa4/solr/core/src/test/org/apache/solr/metrics/reporters/SolrJmxReporterTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/metrics/reporters/SolrJmxReporterTest.java b/solr/core/src/test/org/apache/solr/metrics/reporters/SolrJmxReporterTest.java
index 41c75e0..abd027e 100644
--- a/solr/core/src/test/org/apache/solr/metrics/reporters/SolrJmxReporterTest.java
+++ b/solr/core/src/test/org/apache/solr/metrics/reporters/SolrJmxReporterTest.java
@@ -71,8 +71,6 @@ public class SolrJmxReporterTest extends SolrTestCaseJ4 {
 
   @Before
   public void beforeTest() throws Exception {
-    // make sure we're running an MBeanServer
-    //ManagementFactory.getPlatformMBeanServer();
     initCore("solrconfig-basic.xml", "schema.xml");
 
     final SolrCore core = h.getCore();
@@ -81,7 +79,7 @@ public class SolrJmxReporterTest extends SolrTestCaseJ4 {
 
     coreMetricManager = core.getCoreMetricManager();
     metricManager = core.getCoreDescriptor().getCoreContainer().getMetricManager();
-    PluginInfo pluginInfo = createReporterPluginInfo();
+    PluginInfo pluginInfo = createReporterPluginInfo(rootName, true);
     metricManager.loadReporter(coreMetricManager.getRegistryName(), coreMetricManager.getCore().getResourceLoader(),
         pluginInfo, coreMetricManager.getTag());
 
@@ -95,11 +93,9 @@ public class SolrJmxReporterTest extends SolrTestCaseJ4 {
     reporter = (SolrJmxReporter) reporters.get(taggedName);
     mBeanServer = reporter.getMBeanServer();
     assertNotNull("MBean server not found.", mBeanServer);
-    System.err.println("jmxPort=" + jmxPort);
-//    Thread.sleep(1000000000);
   }
 
-  private PluginInfo createReporterPluginInfo() {
+  private PluginInfo createReporterPluginInfo(String rootName, boolean enabled) {
     Random random = random();
     String className = SolrJmxReporter.class.getName();
     String reporterName = TestUtil.randomSimpleString(random, 1, 10);
@@ -108,6 +104,7 @@ public class SolrJmxReporterTest extends SolrTestCaseJ4 {
     attrs.put(FieldType.CLASS_NAME, className);
     attrs.put(CoreAdminParams.NAME, reporterName);
     attrs.put("rootName", rootName);
+    attrs.put("enabled", enabled);
     attrs.put("serviceUrl", "service:jmx:rmi:///jndi/rmi://localhost:" + jmxPort + "/solrjmx");
 
     boolean shouldOverrideDomain = random.nextBoolean();
@@ -167,7 +164,7 @@ public class SolrJmxReporterTest extends SolrTestCaseJ4 {
         o.getObjectName().getDomain().equals(rootName)).count());
 
     h.getCoreContainer().reload(h.getCore().getName());
-    PluginInfo pluginInfo = createReporterPluginInfo();
+    PluginInfo pluginInfo = createReporterPluginInfo(rootName, true);
     metricManager.loadReporter(coreMetricManager.getRegistryName(), coreMetricManager.getCore().getResourceLoader(),
         pluginInfo, String.valueOf(coreMetricManager.getCore().hashCode()));
     coreMetricManager.registerMetricProducer(scope, producer);
@@ -178,4 +175,35 @@ public class SolrJmxReporterTest extends SolrTestCaseJ4 {
             rootName.equals(o.getObjectName().getDomain())).count());
   }
 
+  @Test
+  public void testEnabled() throws Exception {
+    String root1 = TestUtil.randomSimpleString(random(), 1, 10);
+    PluginInfo pluginInfo1 = createReporterPluginInfo(root1, true);
+    metricManager.loadReporter(coreMetricManager.getRegistryName(), coreMetricManager.getCore().getResourceLoader(),
+        pluginInfo1, coreMetricManager.getTag());
+
+    String root2 = TestUtil.randomSimpleString(random(), 1, 10);
+    assertFalse(root2.equals(root1));
+    PluginInfo pluginInfo2 = createReporterPluginInfo(root2, false);
+    metricManager.loadReporter(coreMetricManager.getRegistryName(), coreMetricManager.getCore().getResourceLoader(),
+        pluginInfo2, coreMetricManager.getTag());
+
+    Map<String, SolrMetricReporter> reporters = metricManager.getReporters(coreMetricManager.getRegistryName());
+    assertTrue(reporters.containsKey(pluginInfo1.name + "@" + coreMetricManager.getTag()));
+    assertTrue(reporters.containsKey(pluginInfo2.name + "@" + coreMetricManager.getTag()));
+
+    String scope = SolrMetricTestUtils.getRandomScope(random(), true);
+    SolrInfoBean.Category category = SolrMetricTestUtils.getRandomCategory(random(), true);
+    Map<String, Counter> metrics = SolrMetricTestUtils.getRandomMetrics(random(), true);
+    SolrMetricProducer producer = SolrMetricTestUtils.getProducerOf(metricManager, category, scope, metrics);
+    coreMetricManager.registerMetricProducer(scope, producer);
+    Set<ObjectInstance> objects = mBeanServer.queryMBeans(null, null);
+    assertEquals(metrics.size(), objects.stream().
+        filter(o -> scope.equals(o.getObjectName().getKeyProperty("scope")) &&
+            root1.equals(o.getObjectName().getDomain())).count());
+    assertEquals(0, objects.stream().
+        filter(o -> scope.equals(o.getObjectName().getKeyProperty("scope")) &&
+            root2.equals(o.getObjectName().getDomain())).count());
+  }
+
 }