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