This is an automated email from the ASF dual-hosted git repository.
kezhenxu94 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 735ee00b99 Mesh: fix only last rule works when multiple rules are
defined in metadata-service-mapping.yaml (#9205)
735ee00b99 is described below
commit 735ee00b991b34a73a747802de107e098aa86869
Author: kezhenxu94 <[email protected]>
AuthorDate: Sat Jun 11 21:06:11 2022 +0800
Mesh: fix only last rule works when multiple rules are defined in
metadata-service-mapping.yaml (#9205)
---
docs/en/changes/changes.md | 1 +
.../oap/server/receiver/envoy/als/mx/FieldsHelper.java | 1 +
.../oap/server/receiver/envoy/als/mx/FieldsHelperTest.java | 10 +++++++---
.../src/test/resources/field-helper.msg | 2 +-
4 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md
index 5a0a5d92b5..4f468592aa 100644
--- a/docs/en/changes/changes.md
+++ b/docs/en/changes/changes.md
@@ -6,6 +6,7 @@
* Add more entities for Zipkin to improve performance.
* ElasticSearch: scroll id should be updated when scrolling as it may change.
+* Mesh: fix only last rule works when multiple rules are defined in
metadata-service-mapping.yaml.
#### Documentation
diff --git
a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/als/mx/FieldsHelper.java
b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/als/mx/FieldsHelper.java
index 567870015b..29b227ddac 100644
---
a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/als/mx/FieldsHelper.java
+++
b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/als/mx/FieldsHelper.java
@@ -168,6 +168,7 @@ public enum FieldsHelper {
continue;
}
values[i] = value.getStringValue();
+ break;
}
}
final String value =
Strings.lenientFormat(serviceNameFormat.format, values);
diff --git
a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/envoy/als/mx/FieldsHelperTest.java
b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/envoy/als/mx/FieldsHelperTest.java
index 448b343512..d456cc4da4 100644
---
a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/envoy/als/mx/FieldsHelperTest.java
+++
b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/envoy/als/mx/FieldsHelperTest.java
@@ -32,8 +32,7 @@ import org.junit.runners.Parameterized;
import org.powermock.reflect.Whitebox;
import static
org.apache.skywalking.oap.server.receiver.envoy.als.k8s.K8SALSServiceMeshHTTPAnalysisTest.getResourceAsStream;
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.junit.Assert.assertThat;
+import static org.assertj.core.api.Assertions.assertThat;
@RunWith(Parameterized.class)
public class FieldsHelperTest {
@@ -50,6 +49,11 @@ public class FieldsHelperTest {
@Parameterized.Parameters(name = "{index}: {0}")
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][] {
+ {
+ "serviceName:
${LABELS.\"service.istio.io/canonical-name\",LABELS.\"app.kubernetes.io/name\",LABELS.app}\nserviceInstanceName:
${NAME}",
+ "productpage",
+ "productpage-v1-65576bb7bf-4mzsp"
+ },
{
"serviceName:
${LABELS.\"service.istio.io/canonical-name\"}\nserviceInstanceName: ${NAME}",
"productpage",
@@ -99,7 +103,7 @@ public class FieldsHelperTest {
requestBuilder.getIdentifier().getNode().getMetadata(),
info
);
- assertThat(info.getServiceName(), equalTo(expectedServiceName));
+ assertThat(info.getServiceName()).isEqualTo(expectedServiceName);
}
}
}
diff --git
a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/test/resources/field-helper.msg
b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/test/resources/field-helper.msg
index fe5132ddac..d1901fb3c2 100644
---
a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/test/resources/field-helper.msg
+++
b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/test/resources/field-helper.msg
@@ -60,7 +60,7 @@
"service.istio.io/canonical-name": "productpage",
"version": "v1",
"security.istio.io/tlsMode": "istio",
- "app": "productpage",
+ "app": "whatever-differ-from-productpage",
"service.istio.io/canonical-revision": "v1",
"pod-template-hash": "65576bb7bf",
"istio.io/rev": "default"