RFR: 8303136: MemoryPoolMBean/isCollectionUsageThresholdExceeded/isexceeded005 failed with "isCollectionUsageThresholdExceeded() returned true, while threshold = 1 and used = 0"

Kevin Walls kevinw at openjdk.org
Wed Mar 8 08:20:16 UTC 2023


On Thu, 2 Mar 2023 09:20:23 GMT, Kevin Walls <kevinw at openjdk.org> wrote:

> Test update for an occasional failure, which does not reproduce.
> 
> The test failure in JDK-8303136 is at line 141 in the updated file here.  It's the failure where isExceeded is true, but our sampled "used" value is not above the threshold.  But while the comment says it's refreshing values, it does not not refresh "used", so there could have been gc/promotion activity which hits the threshold outside of the test's control.  Refreshing "used" is the addition here.
> 
> Separately, the code at line 123 in the new file also claims to refresh the values, but it only refreshes the threshold, which we aren't changing.  Not making it refresh "used" at that point looks correct, so remove the "if (used >= threshold)" as we have already checked that at line 116.

Thanks Chris, thanks Serguei!

-------------

PR: https://git.openjdk.org/jdk/pull/12823


More information about the serviceability-dev mailing list