On 5 Feb 2015, at 17:33, Jason Greene <jason.greene(a)redhat.com>
wrote:
> On Feb 5, 2015, at 11:24 AM, Brian Stansberry <brian.stansberry(a)redhat.com>
wrote:
>
> On 2/5/15 11:13 AM, Kabir Khan wrote:
>>
>>> On 5 Feb 2015, at 16:39, Brian Stansberry <brian.stansberry(a)redhat.com>
wrote:
>>>
>>> tl;dr
>>>
>>> We have a minor anomaly in system property processing in domain mode
>>> that we intend to ignore.
>>>
>>> long version
>>>
>>> While digging into a bug Emmanuel Hugonnet noticed an anomaly. When you
>>> define a system-property resource in domain.xml or host.xml with
>>> "boot-time=true", the HC does both of the following when it
launches a
>>> server:
>>>
>>> 1) Uses -D to set the prop when it starts the server process.
>>>
>>> 2) Adds an add system-property op to the server's set of boot ops, which
>>> causes the system property to get set again later during boot.
>>>
>>> Really, only 1) should happen; that's what "boot-time=true"
means. The
>>> purpose of boot-time=true is to ensure the value is set at JVM launch,
>>> not waiting for management ops to execute, which may be too late for
>>> props that are read early.
>> I am not 100% convinced.
>
> Me neither. :)
>
> 1) should of course happen. But it could be argued that something in the
> domain management model should always be reflected in the resulting
> server management model. It feels a bit weird to make random exceptions.
>
> It's similar to a jvm setting. It's a configuration of how the HC behaves.
If I understand correctly, the add op generated on all servers sets a system property,
which activates at runtime correct?
If so I actually think the behavior is arguably correct, if a bit odd.
They will get set in its system properties, although it might be 'too late’ e.g.
-Djava.security.manager needs to be passed in at boot time (this is a bad example since
we’re moving to -secmgr but there are probably others)
Still I think this affects the whole system property idea, there could be other
non-boot-time ones which are read on subsystem startup, and affect how a subsystem
behaves. Changing those later has no effect. Or a similar example are the properties to
toggle ipv4 vs ipv6, I believe once the stack has initialised changing those doesn’t have
any effect whatsoever.
--
Jason T. Greene
WildFly Lead / JBoss EAP Platform Architect
JBoss, a division of Red Hat