jmx-dev RFR: 8351002: com/sun/management/OperatingSystemMXBean cpuLoad tests fail intermittently [v2]
Leonid Mesnik
lmesnik at openjdk.org
Mon Mar 24 20:15:14 UTC 2025
On Mon, 24 Mar 2025 15:08:01 GMT, Kevin Walls <kevinw at openjdk.org> wrote:
>> These tests have always silently permitted a -1 return value from OperatingSystemMXBean CPU time methods.
>>
>> They need to be stricter, but occasionally Windows 2019 returns a -1 for the first few calls of these methods. This seems to be a Windows 2019 bug or peculiarity. Other Windows versions are not affected.
>>
>> GetProcessCpuLoad.java and GetSystemCpuLoad.java need to fail only if the CPU time calls continually return -1. They should permit -1 values, as long as subsequently a value in the valid range is read.
>>
>> The GetProcessCpuTime test also needs to retry enough times to expect no -1 values, and not just skip. While updating this test: it has a maximum expected value of Long.MAX_VALUE, which it may as well reduce to something that does not look like a binary "all ones except for the high bit" value (without creating an ongoing game where we keep increasing the value to avoid failures in slow runs).
>
> Kevin Walls has updated the pull request incrementally with two additional commits since the last revision:
>
> - whitespace
> - whitespace
Changes requested by lmesnik (Reviewer).
test/jdk/com/sun/management/OperatingSystemMXBean/GetProcessCpuLoad.java line 45:
> 43: for(int i = 0; i < 10; i++) {
> 44: load = mbean.getProcessCpuLoad();
> 45: if (load == -1.0) {
Please harden test to allow -1.0 on windows only.
-------------
PR Review: https://git.openjdk.org/jdk/pull/24186#pullrequestreview-2711575803
PR Review Comment: https://git.openjdk.org/jdk/pull/24186#discussion_r2010862043
More information about the jmx-dev
mailing list