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

wankai 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 a71d7ef1f8 Fix query `getGlobalTopology` throw exception when didn't 
find any services by the given Layer. (#12609)
a71d7ef1f8 is described below

commit a71d7ef1f8c6e6c319d5d04c77b1ceb03be9b35a
Author: Wan Kai <[email protected]>
AuthorDate: Wed Sep 11 14:27:49 2024 +0800

    Fix query `getGlobalTopology` throw exception when didn't find any services 
by the given Layer. (#12609)
---
 docs/en/changes/changes.md                                             | 1 +
 .../apache/skywalking/oap/server/core/query/TopologyQueryService.java  | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md
index 9296f4f548..8256d95791 100644
--- a/docs/en/changes/changes.md
+++ b/docs/en/changes/changes.md
@@ -61,6 +61,7 @@
 * Update the endpoint name format to `<Method>:<Path>` in eBPF Access Log 
Receiver.
 * Add self-observability metrics for OpenTelemetry receiver.
 * Support service level metrics aggregate when missing pod context in eBPF 
Access Log Receiver.
+* Fix query `getGlobalTopology` throw exception when didn't find any services 
by the given Layer.
 
 #### UI
 
diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/TopologyQueryService.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/TopologyQueryService.java
index f4a37f5177..6715453c0e 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/TopologyQueryService.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/TopologyQueryService.java
@@ -130,6 +130,9 @@ public class TopologyQueryService implements Service {
                 span = traceContext.createSpan("Query Service: 
getServiceTopology");
                 span.setMsg("Duration: " + duration + ", ServiceIds: " + 
serviceIds);
             }
+            if (CollectionUtils.isEmpty(serviceIds)) {
+                return new Topology();
+            }
             return invokeGetServiceTopology(duration, serviceIds);
         } finally {
             if (traceContext != null && span != null) {

Reply via email to