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

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


The following commit(s) were added to refs/heads/master by this push:
     new ba24490  Remove "IDs can't be null" in backend, as UI hasn't fixed 
this for a long time. (#3039)
ba24490 is described below

commit ba24490166f78eb628a16271633aeb1b8eaabe30
Author: 吴晟 Wu Sheng <wu.sh...@foxmail.com>
AuthorDate: Wed Jul 10 18:32:45 2019 +0900

    Remove "IDs can't be null" in backend, as UI hasn't fixed this for a long 
time. (#3039)
---
 .../oap/server/core/query/MetricQueryService.java  | 32 ++++++++++++++++------
 1 file changed, 24 insertions(+), 8 deletions(-)

diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/MetricQueryService.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/MetricQueryService.java
index 589c79a..a438793 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/MetricQueryService.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/MetricQueryService.java
@@ -20,25 +20,32 @@ package org.apache.skywalking.oap.server.core.query;
 
 import java.io.IOException;
 import java.text.ParseException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
 import org.apache.skywalking.apm.util.StringUtil;
 import org.apache.skywalking.oap.server.core.Const;
 import org.apache.skywalking.oap.server.core.analysis.Downsampling;
 import org.apache.skywalking.oap.server.core.analysis.metrics.Metrics;
-import org.apache.skywalking.oap.server.core.query.entity.*;
-import org.apache.skywalking.oap.server.core.query.sql.*;
+import org.apache.skywalking.oap.server.core.query.entity.IntValues;
+import org.apache.skywalking.oap.server.core.query.entity.Thermodynamic;
+import org.apache.skywalking.oap.server.core.query.sql.KeyValues;
+import org.apache.skywalking.oap.server.core.query.sql.Where;
 import org.apache.skywalking.oap.server.core.storage.StorageModule;
 import org.apache.skywalking.oap.server.core.storage.annotation.ValueColumnIds;
 import org.apache.skywalking.oap.server.core.storage.query.IMetricsQueryDAO;
+import org.apache.skywalking.oap.server.library.module.ModuleManager;
 import org.apache.skywalking.oap.server.library.module.Service;
-import org.apache.skywalking.oap.server.library.module.*;
 import org.apache.skywalking.oap.server.library.util.CollectionUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * @author peng-yongsheng
  */
 public class MetricQueryService implements Service {
 
+    private static final Logger logger = 
LoggerFactory.getLogger(MetricQueryService.class);
+
     private final ModuleManager moduleManager;
     private IMetricsQueryDAO metricQueryDAO;
 
@@ -53,10 +60,17 @@ public class MetricQueryService implements Service {
         return metricQueryDAO;
     }
 
-    public IntValues getValues(final String indName, final List<String> ids, 
final Downsampling downsampling, final long startTB,
+    public IntValues getValues(final String indName, final List<String> ids, 
final Downsampling downsampling,
+        final long startTB,
         final long endTB) throws IOException {
         if (CollectionUtils.isEmpty(ids)) {
-            throw new RuntimeException("IDs can't be null");
+            /**
+             * Don't support query values w/o ID. but UI still did this(as 
bug),
+             * we return an empty list, and a debug level log,
+             * rather than an exception, which always being considered as a 
serious error from new users.
+             */
+            logger.debug("query metrics[{}] w/o IDs", indName);
+            return new IntValues();
         }
 
         Where where = new Where();
@@ -68,7 +82,8 @@ public class MetricQueryService implements Service {
         return getMetricQueryDAO().getValues(indName, downsampling, startTB, 
endTB, where, ValueColumnIds.INSTANCE.getValueCName(indName), 
ValueColumnIds.INSTANCE.getValueFunction(indName));
     }
 
-    public IntValues getLinearIntValues(final String indName, final String id, 
final Downsampling downsampling, final long startTB,
+    public IntValues getLinearIntValues(final String indName, final String id, 
final Downsampling downsampling,
+        final long startTB,
         final long endTB) throws IOException, ParseException {
         List<DurationPoint> durationPoints = 
DurationUtils.INSTANCE.getDurationPoints(downsampling, startTB, endTB);
         List<String> ids = new ArrayList<>();
@@ -81,7 +96,8 @@ public class MetricQueryService implements Service {
         return getMetricQueryDAO().getLinearIntValues(indName, downsampling, 
ids, ValueColumnIds.INSTANCE.getValueCName(indName));
     }
 
-    public Thermodynamic getThermodynamic(final String indName, final String 
id, final Downsampling downsampling, final long startTB,
+    public Thermodynamic getThermodynamic(final String indName, final String 
id, final Downsampling downsampling,
+        final long startTB,
         final long endTB) throws IOException, ParseException {
         List<DurationPoint> durationPoints = 
DurationUtils.INSTANCE.getDurationPoints(downsampling, startTB, endTB);
         List<String> ids = new ArrayList<>();

Reply via email to