This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-graalvm-distro.git
The following commit(s) were added to refs/heads/main by this push:
new f52364f Fix hierarchy rule name lookup for v2 class naming convention
f52364f is described below
commit f52364f74d5ddc394928bbc87ee9b2493934d233
Author: Wu Sheng <[email protected]>
AuthorDate: Tue Mar 10 07:58:51 2026 +0800
Fix hierarchy rule name lookup for v2 class naming convention
The v2 HierarchyRuleClassGenerator names classes as
hierarchy_definition_<ruleName> (e.g. hierarchy_definition_name).
The loadPrecompiledRules() method was stripping "HierarchyRule_"
prefix (v1 convention) instead of "hierarchy_definition_" prefix,
causing all E2E tests to fail at startup.
---
.../oap/server/core/config/HierarchyDefinitionService.java | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git
a/oap-libs-for-graalvm/server-core-for-graalvm/src/main/java/org/apache/skywalking/oap/server/core/config/HierarchyDefinitionService.java
b/oap-libs-for-graalvm/server-core-for-graalvm/src/main/java/org/apache/skywalking/oap/server/core/config/HierarchyDefinitionService.java
index c0f46f2..1589f78 100644
---
a/oap-libs-for-graalvm/server-core-for-graalvm/src/main/java/org/apache/skywalking/oap/server/core/config/HierarchyDefinitionService.java
+++
b/oap-libs-for-graalvm/server-core-for-graalvm/src/main/java/org/apache/skywalking/oap/server/core/config/HierarchyDefinitionService.java
@@ -90,9 +90,10 @@ public class HierarchyDefinitionService implements
org.apache.skywalking.oap.ser
Class<?> clazz = Class.forName(fqcn);
BiFunction<Service, Service, Boolean> rule =
(BiFunction<Service, Service, Boolean>)
clazz.getDeclaredConstructor().newInstance();
- // Extract rule name: HierarchyRule_<sanitizedName> -> reverse
sanitize
- String ruleName = simpleName.startsWith("HierarchyRule_")
- ?
simpleName.substring("HierarchyRule_".length()).replace('_', '-')
+ // Extract rule name: hierarchy_definition_<sanitizedName> ->
reverse sanitize
+ // e.g. hierarchy_definition_lower_short_name_remove_ns ->
lower-short-name-remove-ns
+ String ruleName =
simpleName.startsWith("hierarchy_definition_")
+ ?
simpleName.substring("hierarchy_definition_".length()).replace('_', '-')
: simpleName;
rules.put(ruleName, rule);
log.debug("Loaded pre-compiled hierarchy rule: {} -> {}",
ruleName, fqcn);