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/skywalking.git


The following commit(s) were added to refs/heads/master by this push:
     new 9e07ad7e9f Fix query history process data failure (#9471)
9e07ad7e9f is described below

commit 9e07ad7e9fc36abb9902d52f0dc2ce90aa1dd00d
Author: mrproliu <[email protected]>
AuthorDate: Mon Aug 15 18:17:52 2022 +0800

    Fix query history process data failure (#9471)
---
 docs/en/changes/changes.md                                         | 1 +
 .../skywalking/oap/server/core/query/MetadataQueryService.java     | 4 ++++
 .../storage/plugin/banyandb/measure/BanyanDBMetadataQueryDAO.java  | 3 ---
 .../storage/plugin/elasticsearch/query/MetadataQueryEsDAO.java     | 7 +------
 .../oap/server/storage/plugin/jdbc/h2/dao/H2MetadataQueryDAO.java  | 7 -------
 5 files changed, 6 insertions(+), 16 deletions(-)

diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md
index 09745f13a6..8603cdd042 100644
--- a/docs/en/changes/changes.md
+++ b/docs/en/changes/changes.md
@@ -50,6 +50,7 @@
 * Support MySQL monitoring.
 * Fix query services by serviceId error when Elasticsearch storage 
`SW_STORAGE_ES_QUERY_MAX_SIZE` > 10000.
 * Support sending alarm messages to Discord.
+* Fix query history process data failure.
 
 #### UI
 
diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/MetadataQueryService.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/MetadataQueryService.java
index dfd451b075..ada569a7f9 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/MetadataQueryService.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/MetadataQueryService.java
@@ -21,6 +21,7 @@ package org.apache.skywalking.oap.server.core.query;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
@@ -104,6 +105,9 @@ public class MetadataQueryService implements 
org.apache.skywalking.oap.server.li
     }
 
     public List<Process> listProcesses(final Duration duration, final String 
instanceId) throws IOException {
+        if (duration.getEndTimeBucket() < duration.getStartTimeBucket()) {
+            return Collections.emptyList();
+        }
         return getMetadataQueryDAO().listProcesses(instanceId, 
duration.getStartTimeBucket(), duration.getEndTimeBucket());
     }
 
diff --git 
a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/measure/BanyanDBMetadataQueryDAO.java
 
b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/measure/BanyanDBMetadataQueryDAO.java
index 556fe7c5c2..f611cb1ede 100644
--- 
a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/measure/BanyanDBMetadataQueryDAO.java
+++ 
b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/measure/BanyanDBMetadataQueryDAO.java
@@ -210,7 +210,6 @@ public class BanyanDBMetadataQueryDAO extends 
AbstractBanyanDBDAO implements IMe
                 protected void apply(MeasureQuery query) {
                     query.and(eq(ProcessTraffic.SERVICE_ID, serviceId));
                     query.and(gte(ProcessTraffic.LAST_PING_TIME_BUCKET, 
lastPingStartTimeBucket));
-                    query.and(lte(ProcessTraffic.LAST_PING_TIME_BUCKET, 
lastPingEndTimeBucket));
                     query.and(eq(ProcessTraffic.PROFILING_SUPPORT_STATUS, 
supportStatus.value()));
                     query.and(ne(ProcessTraffic.DETECT_TYPE, 
ProcessDetectType.VIRTUAL.value()));
                 }
@@ -235,7 +234,6 @@ public class BanyanDBMetadataQueryDAO extends 
AbstractBanyanDBDAO implements IMe
                 protected void apply(MeasureQuery query) {
                     query.and(eq(ProcessTraffic.INSTANCE_ID, 
serviceInstanceId));
                     query.and(gte(ProcessTraffic.LAST_PING_TIME_BUCKET, 
lastPingStartTimeBucket));
-                    query.and(lte(ProcessTraffic.LAST_PING_TIME_BUCKET, 
lastPingEndTimeBucket));
                     query.and(ne(ProcessTraffic.DETECT_TYPE, 
ProcessDetectType.VIRTUAL.value()));
                 }
             });
@@ -281,7 +279,6 @@ public class BanyanDBMetadataQueryDAO extends 
AbstractBanyanDBDAO implements IMe
                 protected void apply(MeasureQuery query) {
                     query.and(eq(ProcessTraffic.SERVICE_ID, serviceId));
                     query.and(gte(ProcessTraffic.LAST_PING_TIME_BUCKET, 
lastPingStartTimeBucket));
-                    query.and(lte(ProcessTraffic.LAST_PING_TIME_BUCKET, 
lastPingEndTimeBucket));
                     query.and(eq(ProcessTraffic.PROFILING_SUPPORT_STATUS, 
profilingSupportStatus.value()));
                     query.and(ne(ProcessTraffic.DETECT_TYPE, 
ProcessDetectType.VIRTUAL.value()));
                 }
diff --git 
a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetadataQueryEsDAO.java
 
b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetadataQueryEsDAO.java
index 5e634ccec4..2b4f3c48e3 100644
--- 
a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetadataQueryEsDAO.java
+++ 
b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetadataQueryEsDAO.java
@@ -331,14 +331,9 @@ public class MetadataQueryEsDAO extends EsDAO implements 
IMetadataQueryDAO {
         if (profilingSupportStatus != null) {
             query.must(Query.term(ProcessTraffic.PROFILING_SUPPORT_STATUS, 
profilingSupportStatus.value()));
         }
-        final RangeQueryBuilder rangeQuery = 
Query.range(ProcessTraffic.LAST_PING_TIME_BUCKET);
         if (lastPingStartTimeBucket > 0) {
+            final RangeQueryBuilder rangeQuery = 
Query.range(ProcessTraffic.LAST_PING_TIME_BUCKET);
             rangeQuery.gte(lastPingStartTimeBucket);
-        }
-        if (lastPingEndTimeBucket > 0) {
-            rangeQuery.lte(lastPingEndTimeBucket);
-        }
-        if (lastPingStartTimeBucket > 0 || lastPingEndTimeBucket > 0) {
             query.must(rangeQuery);
         }
         query.mustNot(Query.term(ProcessTraffic.DETECT_TYPE, 
ProcessDetectType.VIRTUAL.value()));
diff --git 
a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2MetadataQueryDAO.java
 
b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2MetadataQueryDAO.java
index 619959aced..b97265b62c 100644
--- 
a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2MetadataQueryDAO.java
+++ 
b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2MetadataQueryDAO.java
@@ -365,13 +365,6 @@ public class H2MetadataQueryDAO implements 
IMetadataQueryDAO {
             sql.append(ProcessTraffic.LAST_PING_TIME_BUCKET).append(">=?");
             condition.add(lastPingStartTimeBucket);
         }
-        if (lastPingEndTimeBucket > 0) {
-            if (!condition.isEmpty()) {
-                sql.append(" and ");
-            }
-            sql.append(ProcessTraffic.LAST_PING_TIME_BUCKET).append("<=?");
-            condition.add(lastPingEndTimeBucket);
-        }
         if (!condition.isEmpty()) {
             sql.append(" and ");
         }

Reply via email to