jmx-dev RFR: 8373464: Test JdkManagementCheckSince.java fails after JDK-8369736
Ioi Lam
iklam at openjdk.org
Thu Dec 11 05:09:57 UTC 2025
Please review this small fix and the plan of action for backporting JDK-8369736 to JDK 26.
(JDK-8369736 is under https://openjdk.org/jeps/3#Late-Enhancement-Request-Process)
**Background**
The "actually introduced version" for `HotSpotAOTCacheMXBean` is found using the `ct.sym` file (JdkManagementCheckSince.java uses test/jdk/tools/sincechecker/SinceChecker.java, which doesn't read `ct.sym` directly, but uses `JavacTool` with `--release N`, which in turn loads `ct.sym`)
$ unzip -l ./images/jdk/lib/ct.sym | grep HotSpotAOTCacheMXBean.sig
167 2025-12-11 03:16 R/jdk.management/jdk/management/HotSpotAOTCacheMXBean.sig
"R" is JDK 27 ("1" is JDK 1, "A" is JDK 10, "B" is JDK 11, etc ...)
In comparison, `VirtualThreadSchedulerMXBean` was first introduced in "O" = JDK 24, and its API has not changed since)
$ unzip -l ./images/jdk/lib/ct.sym | grep VirtualThreadSchedulerMXBean.sig
313 2025-12-11 03:16 OPQR/jdk.management/jdk/management/VirtualThreadSchedulerMXBean.sig
Note that if an API has evolved over time, we may have several `.sig` files:
$ unzip -l ./images/jdk/lib/ct.sym | grep util/Vector.sig
3058 2025-12-11 03:16 8/java.base/java/util/Vector.sig
3182 2025-12-11 03:16 9A/java.base/java/util/Vector.sig
3272 2025-12-11 03:16 BCDEFGHIJKLMNOPQR/java.base/java/util/Vector.sig
`ct.sym` is generated from files in [src/jdk.compiler/share/data/symbols](https://github.com/openjdk/jdk/tree/master/src/jdk.compiler/share/data/symbols)
$ cd src/jdk.compiler/share/data/symbols
$ grep VirtualThreadSchedulerMXBean *
jdk.management-O.sym.txt:class name jdk/management/VirtualThreadSchedulerMXBean
Because `HotSpotAOTCacheMXBean` is not listed in any of the `.sym.txt` files, it's added as version "R" in `ct.sym`
$ grep HotSpotAOTCacheMXBean * | wc
0 0 0
**Proposed plan of action**
1. In the mainline, update HotSpotAOTCacheMXBean.java to use `@since 27` (this PR) to fix the current test failure in the mainline.
2. When backporting HotSpotAOTCacheMXBean.java to JDK 26 (with approval), it should have `@since 26`.
3. After JDK 26 is finalized, update the mainline:
- Add HotSpotAOTCacheMXBean to `jdk.management-Q.sym.txt`
- Update HotSpotAOTCacheMXBean.java to use `@since 26`.
-------------
Commit messages:
- 8373464: Test JdkManagementCheckSince.java fails after JDK-8369736
Changes: https://git.openjdk.org/jdk/pull/28760/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28760&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8373464
Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/28760.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/28760/head:pull/28760
PR: https://git.openjdk.org/jdk/pull/28760
More information about the jmx-dev
mailing list