RFR: 8307428: jstat tests doesn't tolerate dash in the O column
Kevin Walls
kevinw at openjdk.org
Thu May 4 09:49:17 UTC 2023
On Thu, 4 May 2023 09:33:49 GMT, Stefan Karlsson <stefank at openjdk.org> wrote:
> When running jstat tests like the following:
> test/jdk/sun/tools/jstatd/TestJstatdServer.java
>
> with Generational ZGC we get a failure because the O (old generation percentage) is reported as `-` and not a number. The reason why it is reported as `-` is that the current capacity of the old generation is zero and that leads to a divide-by-zero in this line:
> https://github.com/openjdk/jdk/blob/82a8e91ef7c3b397f9cce3854722cfe4bace6f2e/src/jdk.jcmd/share/classes/sun/tools/jstat/resources/jstat_options#L1029
>
> G1 has some workarounds for this situation where the reported capacity is slightly above 0. I'm a bit reluctant to add such a hack into Generational ZGC. I've talked to the jstat maintainers and they propose that we simply relax the test.
>
> Tested locally by running the jstat/jstad tests in the Generational ZGC branch.
Looks good to me.
The raw size values are correctly reported as zero, e.g. from -gcoldcapacity, and the problem was only in a column where a percentage was calculated. Divide by zero is shown as a "-", so the O column is like what we can already see for S0 and S1.
We do have warnings in the jstat man page about format changing, and permitting a dash for the O column is a very minor change which makes sense. I don't see any surprise for the user here.
-------------
Marked as reviewed by kevinw (Committer).
PR Review: https://git.openjdk.org/jdk/pull/13796#pullrequestreview-1412737989
More information about the serviceability-dev
mailing list