RFR: 8273112: -Xloggc and -Xlog should override -verbose [v3]

David Holmes dholmes at openjdk.java.net
Fri Sep 3 02:07:29 UTC 2021


On Thu, 2 Sep 2021 11:13:51 GMT, Xiaowei Lu <github.com+39413832+weixlu at openjdk.org> wrote:

>> According to java 16 specifications for java command (https://docs.oracle.com/en/java/javase/16/docs/specs/man/java.html), the command line option -Xloggc should override -verbose:gc if both options are given with the same java command. However, gc information still outputs to console even if gc log file is specified.
>> 
>> $java -Xloggc:gc.log -verbose:gc -version
>> [0.000s][warning][gc] -Xloggc is deprecated. Will use -Xlog:gc:gc.log instead.
>> [0.003s][info ][gc] Using G1
>> $cat gc.log
>> [0.003s][info][gc] Using G1
>> 
>> In addition, since -Xloggc:filename is replaced by -Xlog:gc:filename, can we assume that -Xlog:gc:filename should override -verbose:gc as -Xloggc:filename? Currently, gclog still outputs to both stdout and file if -Xlog and -verbose are given with the same java command.
>> 
>> $java -Xlog:gc:gc.log -verbose:gc -version
>> [0.003s][info][gc] Using G1
>> $cat gc.log
>> [0.003s][info][gc] Using G1
>> 
>> As a result, we propose to put off the log configuration of -verbose option until we are confident that there isn’t -Xloggc or -Xlog options.
>
> Xiaowei Lu has updated the pull request incrementally with one additional commit since the last revision:
> 
>   remove code in previous commit

Not surprisingly this looks good to me! :)

I think this captures the desired/expected behaviour.

Thanks,
David

src/hotspot/share/runtime/arguments.cpp line 95:

> 93: char*  Arguments::SharedDynamicArchivePath      = NULL;
> 94: 
> 95: LegacyGCLogging Arguments::_legacyGCLogging     = { 0 };

`{ 0, 0}` ? Or is it implied the other members are zero-initialized?

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

Marked as reviewed by dholmes (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/5295


More information about the hotspot-runtime-dev mailing list