diff options
author | gjoranv <gv@verizonmedia.com> | 2021-01-25 14:17:55 +0100 |
---|---|---|
committer | gjoranv <gv@verizonmedia.com> | 2021-01-25 14:21:44 +0100 |
commit | 62687eef9a80745c53148daa238abeb7cb16612c (patch) | |
tree | ebba2248981128982aea0be9ee3cfa701c99bd52 /container-core | |
parent | 8612ccf19dbfdcaec328a1743142ded1ab85274f (diff) |
Handle null dimensions without throwing NPE.
Diffstat (limited to 'container-core')
-rw-r--r-- | container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java | 2 | ||||
-rw-r--r-- | container-core/src/main/java/com/yahoo/container/jdisc/state/StateHandler.java | 16 |
2 files changed, 11 insertions, 7 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java b/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java index c1a6f650a9c..a3bfe53e972 100644 --- a/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java +++ b/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java @@ -173,6 +173,8 @@ public class MetricsPacketsHandler extends AbstractRequestHandler { } private void addDimensions(MetricDimensions metricDimensions, JSONObjectWithLegibleException packet) throws JSONException { + if (metricDimensions == null) return; + Iterator<Map.Entry<String, String>> dimensionsIterator = metricDimensions.iterator(); if (dimensionsIterator.hasNext()) { JSONObject jsonDim = new JSONObjectWithLegibleException(); diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/state/StateHandler.java b/container-core/src/main/java/com/yahoo/container/jdisc/state/StateHandler.java index 8858465e846..81959756b14 100644 --- a/container-core/src/main/java/com/yahoo/container/jdisc/state/StateHandler.java +++ b/container-core/src/main/java/com/yahoo/container/jdisc/state/StateHandler.java @@ -254,14 +254,16 @@ public class StateHandler extends AbstractRequestHandler { } else { throw new UnsupportedOperationException(tuple.val.getClass().getName()); } - Iterator<Map.Entry<String, String>> it = tuple.dim.iterator(); - if (it.hasNext() && includeDimensions) { - JSONObjectWithLegibleException jsonDim = new JSONObjectWithLegibleException(); - while (it.hasNext()) { - Map.Entry<String, String> entry = it.next(); - jsonDim.put(entry.getKey(), entry.getValue()); + if (tuple.dim != null) { + Iterator<Map.Entry<String, String>> it = tuple.dim.iterator(); + if (it.hasNext() && includeDimensions) { + JSONObjectWithLegibleException jsonDim = new JSONObjectWithLegibleException(); + while (it.hasNext()) { + Map.Entry<String, String> entry = it.next(); + jsonDim.put(entry.getKey(), entry.getValue()); + } + jsonTuple.put("dimensions", jsonDim); } - jsonTuple.put("dimensions", jsonDim); } jsonMetric.append("values", jsonTuple); } |