mirror of https://github.com/apache/lucene.git
SOLR-10269 MetricHandler JSON output was incorrect.
This commit is contained in:
parent
c8bad8c10a
commit
e3a0b428fd
|
@ -235,6 +235,8 @@ Bug Fixes
|
|||
|
||||
* SOLR-9838: "inc" atomic update doesn't respect default field value (hoss, Amrit Sarkar, Ishan Chattopadhyaya)
|
||||
|
||||
* SOLR-10269: MetricsHandler JSON output incorrect. (ab)
|
||||
|
||||
Optimizations
|
||||
----------------------
|
||||
|
||||
|
|
|
@ -38,6 +38,7 @@ import com.codahale.metrics.Snapshot;
|
|||
import com.codahale.metrics.Timer;
|
||||
import org.apache.solr.common.SolrInputDocument;
|
||||
import org.apache.solr.common.util.NamedList;
|
||||
import org.apache.solr.common.util.SimpleOrderedMap;
|
||||
import org.apache.solr.metrics.AggregateMetric;
|
||||
|
||||
/**
|
||||
|
@ -117,12 +118,12 @@ public class MetricUtils {
|
|||
MetricFilter mustMatchFilter, boolean skipHistograms,
|
||||
boolean skipAggregateValues,
|
||||
Map<String, Object> metadata) {
|
||||
NamedList result = new NamedList();
|
||||
NamedList result = new SimpleOrderedMap();
|
||||
toNamedMaps(registry, shouldMatchFilters, mustMatchFilter, skipHistograms, skipAggregateValues, (k, v) -> {
|
||||
result.add(k, new NamedList(v));
|
||||
result.add(k, v);
|
||||
});
|
||||
if (metadata != null && !metadata.isEmpty()) {
|
||||
result.add("_metadata_", new NamedList(metadata));
|
||||
result.add("_metadata_", metadata);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
|
|
@ -17,6 +17,8 @@
|
|||
|
||||
package org.apache.solr.handler.admin;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.solr.SolrTestCaseJ4;
|
||||
import org.apache.solr.common.params.CommonParams;
|
||||
import org.apache.solr.common.util.NamedList;
|
||||
|
@ -48,13 +50,14 @@ public class MetricsHandlerTest extends SolrTestCaseJ4 {
|
|||
NamedList nl = (NamedList) values.get("solr.core.collection1");
|
||||
assertNotNull(nl);
|
||||
assertNotNull(nl.get("SEARCHER.new.errors")); // counter type
|
||||
assertNotNull(((NamedList) nl.get("SEARCHER.new.errors")).get("count"));
|
||||
assertEquals(0L, ((NamedList) nl.get("SEARCHER.new.errors")).get("count"));
|
||||
assertNotNull(((Map) nl.get("SEARCHER.new.errors")).get("count"));
|
||||
// response wasn't serialized so we get here whatever MetricUtils produced instead of NamedList
|
||||
assertEquals(0L, ((Map) nl.get("SEARCHER.new.errors")).get("count"));
|
||||
nl = (NamedList) values.get("solr.node");
|
||||
assertNotNull(nl.get("CONTAINER.cores.loaded")); // int gauge
|
||||
assertEquals(1, ((NamedList) nl.get("CONTAINER.cores.loaded")).get("value"));
|
||||
assertEquals(1, ((Map) nl.get("CONTAINER.cores.loaded")).get("value"));
|
||||
assertNotNull(nl.get("ADMIN./admin/authorization.clientErrors")); // timer type
|
||||
assertEquals(5, ((NamedList) nl.get("ADMIN./admin/authorization.clientErrors")).size());
|
||||
assertEquals(5, ((Map) nl.get("ADMIN./admin/authorization.clientErrors")).size());
|
||||
|
||||
resp = new SolrQueryResponse();
|
||||
handler.handleRequestBody(req(CommonParams.QT, "/admin/metrics", CommonParams.WT, "json", "group", "jvm,jetty"), resp);
|
||||
|
|
Loading…
Reference in New Issue