From 50688c18795ee69adb97e896de880a5f1a6d0506 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=A8=81?= <51618159+LIU-WEI-git@users.noreply.github.com> Date: Thu, 26 Aug 2021 22:36:24 +0800 Subject: [PATCH] Fix issue#7527, add desc sort function in IBrowserLogQueryDAO of H2 and ES (#7580) --- CHANGES.md | 1 + .../plugin/elasticsearch/query/BrowserLogQueryEsDAO.java | 2 ++ .../plugin/elasticsearch7/query/BrowserLogQueryEs7DAO.java | 2 ++ .../server/storage/plugin/jdbc/h2/dao/H2BrowserLogQueryDAO.java | 2 ++ 4 files changed, 7 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 5a40b60b5a..8ba29c6f43 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -49,6 +49,7 @@ Release Notes. * Support zookeeper grouped dynamic configurations. * Fix NPE when OAP nodes synchronize events with each other in cluster mode. * Support k8s configmap grouped dynamic configurations. +* Add desc sort function in H2 and ElasticSearch implementations of IBrowserLogQueryDAO #### UI diff --git a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/BrowserLogQueryEsDAO.java b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/BrowserLogQueryEsDAO.java index f17824ea63..8751c8d6dc 100644 --- a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/BrowserLogQueryEsDAO.java +++ b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/BrowserLogQueryEsDAO.java @@ -32,6 +32,7 @@ import org.elasticsearch.index.query.BoolQueryBuilder; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.builder.SearchSourceBuilder; +import org.elasticsearch.search.sort.SortOrder; import static java.util.Objects.nonNull; @@ -72,6 +73,7 @@ public class BrowserLogQueryEsDAO extends EsDAO implements IBrowserLogQueryDAO { boolQueryBuilder.must() .add(QueryBuilders.termQuery(BrowserErrorLogRecord.ERROR_CATEGORY, category.getValue())); } + sourceBuilder.sort(BrowserErrorLogRecord.TIMESTAMP, SortOrder.DESC); sourceBuilder.size(limit); sourceBuilder.from(from); SearchResponse response = getClient() diff --git a/oap-server/server-storage-plugin/storage-elasticsearch7-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch7/query/BrowserLogQueryEs7DAO.java b/oap-server/server-storage-plugin/storage-elasticsearch7-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch7/query/BrowserLogQueryEs7DAO.java index 344a3f06af..652c4b2ffa 100644 --- a/oap-server/server-storage-plugin/storage-elasticsearch7-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch7/query/BrowserLogQueryEs7DAO.java +++ b/oap-server/server-storage-plugin/storage-elasticsearch7-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch7/query/BrowserLogQueryEs7DAO.java @@ -31,6 +31,7 @@ import org.elasticsearch.index.query.BoolQueryBuilder; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.builder.SearchSourceBuilder; +import org.elasticsearch.search.sort.SortOrder; import static java.util.Objects.nonNull; @@ -71,6 +72,7 @@ public class BrowserLogQueryEs7DAO extends BrowserLogQueryEsDAO { boolQueryBuilder.must() .add(QueryBuilders.termQuery(BrowserErrorLogRecord.ERROR_CATEGORY, category.getValue())); } + sourceBuilder.sort(BrowserErrorLogRecord.TIMESTAMP, SortOrder.DESC); sourceBuilder.size(limit); sourceBuilder.from(from); SearchResponse response = getClient() 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/H2BrowserLogQueryDAO.java b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2BrowserLogQueryDAO.java index 3c23e2be00..e80ef95518 100644 --- a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2BrowserLogQueryDAO.java +++ b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2BrowserLogQueryDAO.java @@ -78,6 +78,8 @@ public class H2BrowserLogQueryDAO implements IBrowserLogQueryDAO { parameters.add(category.getValue()); } + sql.append(" order by ").append(BrowserErrorLogRecord.TIMESTAMP).append(" DESC "); + BrowserErrorLogs logs = new BrowserErrorLogs(); try (Connection connection = h2Client.getConnection()) {