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 <[email protected]>
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<>();