RFR (XS) 8213992: Rename and make DieOnSafepointTimeout the diagnostic option
Daniel D. Daugherty
daniel.daugherty at oracle.com
Mon Nov 19 14:43:27 UTC 2018
On 11/19/18 6:23 AM, Aleksey Shipilev wrote:
> On 11/19/18 6:08 AM, David Holmes wrote:
>>> David suggested making the option "product", but I don't like it very much: "product" option
>>> suggests this is a production-grade feature and it comes with expectations of support, which is
>>> interesting in itself when product feature crashes the VM. "diagnostic" keeps this mode available in
>>> product builds without the attached notion of support. Users that want fail-fast VM crash can then
>>> use that option on "we know what we are doing" basis.
>> I feel a little uncomfortable that "diagnostic" is being used as a synonym for "unsupported
>> product". If you really want to fail-fast in production then you're looking for a production flag
>> not a "diagnostic" one IMHO. I won't fight it but I'd like to know what others think.
> Yup, let's hear it. I don't want to bikeshed this too much :)
If I was doing the work on this bug, I would have made it a diagnostic
also. I have a bias towards adding options as diagnostic for two reasons:
1) Easier to get rid of the option if it's a bad idea.
2) You have to use the '-XX:UnlockDiagnosticVMOption' option to use it
which makes unintentional use more difficult.
> To re-iterate: I don't really want to introduce the hard-to-retract product option. Rather, I would
> like to expose the flag that we are using for debugging into release builds, so it could both used
> by us for our release-mode debugging, and by power users who know what they are doing. It seems
> "diagnostic" hits the spot here. Also, symmetry against other Abort* flags...
>>> diff -r 9ad663e63da5 -r 132db6e99f77 src/hotspot/share/runtime/globals.hpp
>>> --- a/src/hotspot/share/runtime/globals.hpp Fri Nov 16 12:02:08 2018 +0100
>>> +++ b/src/hotspot/share/runtime/globals.hpp Fri Nov 16 13:35:16 2018 +0100
>>> @@ -498,7 +498,7 @@
>>> "Time out and warn or fail after SafepointTimeoutDelay " \
>>> "milliseconds if failed to reach safepoint") \
>>> - develop(bool, DieOnSafepointTimeout, false, \
>>> + diagnostic(bool, AbortVMOnSafepointTimeout, false, \
>>> "Die upon failure to reach safepoint (see SafepointTimeout)") \
> Done in my local patch queue, thanks!
More information about the hotspot-dev