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 f5cd798185 Fix `NullPointerException` in Istio ServiceEntry registry
(#12087)
f5cd798185 is described below
commit f5cd7981851886b323ec268f9b0a8e3040fd5a00
Author: kezhenxu94 <[email protected]>
AuthorDate: Wed Apr 10 20:43:01 2024 +0800
Fix `NullPointerException` in Istio ServiceEntry registry (#12087)
---
docs/en/changes/changes.md | 1 +
.../server/receiver/envoy/als/istio/IstioServiceEntryRegistry.java | 4 ++++
2 files changed, 5 insertions(+)
diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md
index d23ae7e0aa..544b6fad72 100644
--- a/docs/en/changes/changes.md
+++ b/docs/en/changes/changes.md
@@ -93,6 +93,7 @@
- API `/api/v1/labels` and `/api/v1/label/<label_name>/values` support
return matched metrics labels.
- OAL:
- Deprecate `percentile` function and introduce `percentile2` function
instead.
+* Fix `NullPointerException` in Istio ServiceEntry registry.
#### UI
diff --git
a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/als/istio/IstioServiceEntryRegistry.java
b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/als/istio/IstioServiceEntryRegistry.java
index a525c4fea5..1bc118205d 100644
---
a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/als/istio/IstioServiceEntryRegistry.java
+++
b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/als/istio/IstioServiceEntryRegistry.java
@@ -74,6 +74,10 @@ public class IstioServiceEntryRegistry {
.filter(se ->
!ignoredNamespaces.contains(se.getMetadata().getNamespace()))
.filter(se -> {
final var spec = se.getSpec();
+ if (spec.getResolution() == null) {
+ log.debug("Unsupported service entry resolution:
{}", spec.getResolution());
+ return false;
+ }
switch (spec.getResolution()) {
case STATIC:
return spec