You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2018/10/08 14:37:26 UTC

[incubator-skywalking] branch master updated: Fix linear data npe (#1731)

This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-skywalking.git


The following commit(s) were added to refs/heads/master by this push:
     new 46c55eb  Fix linear data npe (#1731)
46c55eb is described below

commit 46c55ebdb9e616f6e7dfc78771371e8c8e0c8867
Author: Gao Hongtao <ha...@gmail.com>
AuthorDate: Mon Oct 8 22:37:22 2018 +0800

    Fix linear data npe (#1731)
    
    * Avoid null point exception
---
 .../oap/server/core/analysis/indicator/PxxIndicator.java           | 2 +-
 .../storage/plugin/elasticsearch/query/MetricQueryEsDAO.java       | 7 +++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/PxxIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/PxxIndicator.java
index d16f9bf..7dab015 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/PxxIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/PxxIndicator.java
@@ -38,7 +38,7 @@ public abstract class PxxIndicator extends Indicator implements IntValueHolder {
     protected static final String VALUE = "value";
     protected static final String PRECISION = "precision";
 
-    @Getter @Setter @Column(columnName = VALUE) private int value;
+    @Getter @Setter @Column(columnName = VALUE, isValue = true) private int value;
     @Getter @Setter @Column(columnName = PRECISION) private int precision;
     @Getter @Setter @Column(columnName = DETAIL_GROUP) private IntKeyLongValueArray detailGroup;
 
diff --git a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetricQueryEsDAO.java b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetricQueryEsDAO.java
index c9dcf26..ba9d192 100644
--- a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetricQueryEsDAO.java
+++ b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetricQueryEsDAO.java
@@ -89,11 +89,14 @@ public class MetricQueryEsDAO extends EsDAO implements IMetricQueryDAO {
 
         IntValues intValues = new IntValues();
         for (MultiGetItemResponse itemResponse : response.getResponses()) {
-            int value = ((Number)itemResponse.getResponse().getSource().getOrDefault(valueCName, 0)).intValue();
 
             KVInt kvInt = new KVInt();
             kvInt.setId(itemResponse.getId());
-            kvInt.setValue(value);
+            kvInt.setValue(0);
+            Map<String, Object> source = itemResponse.getResponse().getSource();
+            if (source != null) {
+                kvInt.setValue(((Number)source.getOrDefault(valueCName, 0)).intValue());
+            }
             intValues.getValues().add(kvInt);
         }
         return intValues;