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/26 10:33:17 UTC

lucene-solr:master: SOLR-10489: Fix an occasional NPE.

Repository: lucene-solr
Updated Branches:
  refs/heads/master 1f7777693 -> d8ec25bdc


SOLR-10489: Fix an occasional NPE.


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

Branch: refs/heads/master
Commit: d8ec25bdc53d39ca4539dd251c5ed0bba35e609f
Parents: 1f77776
Author: Andrzej Bialecki <ab...@apache.org>
Authored: Wed Apr 26 12:31:39 2017 +0200
Committer: Andrzej Bialecki <ab...@apache.org>
Committed: Wed Apr 26 12:31:39 2017 +0200

----------------------------------------------------------------------
 .../apache/solr/handler/admin/StatsReloadRaceTest.java | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/d8ec25bd/solr/core/src/test/org/apache/solr/handler/admin/StatsReloadRaceTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/handler/admin/StatsReloadRaceTest.java b/solr/core/src/test/org/apache/solr/handler/admin/StatsReloadRaceTest.java
index 9fee818..fc1b496 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/StatsReloadRaceTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/StatsReloadRaceTest.java
@@ -117,11 +117,18 @@ public class StatsReloadRaceTest extends SolrTestCaseJ4 {
           req("prefix", "SEARCHER", "registry", registry, "compact", "true"), rsp);
 
       NamedList values = rsp.getValues();
-      NamedList metrics = (NamedList)values.get("metrics");
-      metrics = (NamedList)metrics.get(registry);
       // this is not guaranteed to exist right away after core reload - there's a
       // small window between core load and before searcher metrics are registered
-      // so we may have to check a few times
+      // so we may have to check a few times, and then fail softly if reload is not complete yet
+      NamedList metrics = (NamedList)values.get("metrics");
+      if (metrics == null) {
+        if (softFail) {
+          return;
+        } else {
+          fail("missing 'metrics' element in handler's output: " + values.asMap(5).toString());
+        }
+      }
+      metrics = (NamedList)metrics.get(registry);
       if (metrics.get(key) != null) {
         found = true;
         assertTrue(metrics.get(key) instanceof Long);