RFR (L): 8073500: Prevent certain commercial flags from being changed at runtime

David Holmes david.holmes at oracle.com
Sun May 8 23:39:36 UTC 2016


On 7/05/2016 2:02 AM, Gerard Ziemski wrote:
> hi David,
>
>> On May 5, 2016, at 3:55 PM, David Holmes <david.holmes at oracle.com> wrote:
>>
>> Hi Gerard,
>>
>> How does this relate to the existing Manageable and Product_rw flags ??
>
> Good questions:
>
> #1 Re: Manageable
>
> There is some overlap when it comes to setting the flag during the runtime (ie. vie jcmd), which will need to be reconciled (in a follow up task), but this mechanism is more general (with possibly more writeable types added in the future) and applies to all stages of the VM runtime, including the startup.
>
>
> #2 Re: product_rw
>
> I don’t see that used anywhere, we should remove it (in a follow up task).

I think every time we add yet-another-kind-of-flag we lament that there 
is not a better way to express this as an attribute of the existing 
flags type. Writability is an orthogonal concept (as is "managed") to 
product/develop/experimental/etc and I hate to see yet-another-flag-type 
added.

That's just a comment, not a blocker, but also not a review as I only 
skimmed this.

David
-----

>
> cheers
>
>
>> Thanks,
>> David
>>
>> On 3/05/2016 2:29 AM, Gerard Ziemski wrote:
>>> hi all,
>>>
>>> Please review this fix (large code change, but relatively straightforward implementation wise), which implements a mechanism for enforcing when and how a runtime flag may be modified. There are 3 new types, which can be assigned:
>>>
>>> - writeable(Always) is optional and default value, which places no limits on when or how often a flag may be changed
>>>
>>> - writeable(Once) denotes that a flag may be >> changed << only once. We allow case such as “java -XX:+UnlockCommercialFeatures ... -XX:+UnlockCommercialFeatures ...” to support existing usage. This is OK, because here the flag only changes its value >> once << , ie. from false to true.
>>>
>>> - writeable(CommandLineOnly) denotes that a flag may only be changed from the command line (tools like jcmd may not change such a flag during the runtime)
>>>
>>> The implementation is based on the same mechanism as that in JEP-245 (https://bugs.openjdk.java.net/browse/JDK-8059557)
>>>
>>>
>>> bug:    https://bugs.openjdk.java.net/browse/JDK-8073500
>>> webrev: http://cr.openjdk.java.net/~gziemski/8073500_rev1/
>>>
>>> Tested with “JPRT hotspot” and “RBT hs-nightly-runtime”
>>>
>>>
>>> cheers
>>>
>


More information about the hotspot-runtime-dev mailing list