On Thu, 4 May 2023 09:33:49 GMT, Stefan Karlsson <stef...@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

Reply via email to