[wildfly-dev] [infinispan-dev] WFLYTX0013 in the Infinispan Openshift Template

Tom Jenkinson tom.jenkinson at redhat.com
Wed May 9 03:39:04 EDT 2018


Thanks Brian. Does it work for you Sebastian?

On 8 May 2018 at 23:05, Brian Stansberry <brian.stansberry at redhat.com>
wrote:

> Ah, ok. I was thinking of scripting in the broad sense the various stuff
> that goes into creating images.
>
> In any case, I don't see any downside to having node-identifier="${jbos
> s.tx.node.id:1}" in the standard WF config files.
>
>
>
> On Tue, May 8, 2018 at 3:07 PM, Tom Jenkinson <tom.jenkinson at redhat.com>
> wrote:
>
>> I think they want to avoid changing the standalone.xml file and just want
>> to control it from their startup script.
>>
>> On 8 May 2018 at 18:45, Brian Stansberry <brian.stansberry at redhat.com>
>> wrote:
>>
>>> I might have missed something along the way, but if they are going to do
>>> scripting wouldn't they just set the attribute to ${jboss.node.name}
>>> and count on the fact that this is unique per pod?
>>>
>>> On Tue, May 8, 2018 at 3:28 AM, Tom Jenkinson <tom.jenkinson at redhat.com>
>>> wrote:
>>>
>>>> Thanks for confirming Brian.
>>>>
>>>> Perhaps we could set it to:
>>>> node-identifier="${jboss.tx.node.id:1}"
>>>> (a bit like https://github.com/jboss-developer/jboss-eap-quickstart
>>>> s/tree/7.1/jts)
>>>>
>>>> Sebastian could set -Djboss.tx.node.id during startup in a script?
>>>>
>>>>
>>>>
>>>> On 7 May 2018 at 22:08, Brian Stansberry <brian.stansberry at redhat.com>
>>>> wrote:
>>>>
>>>>> If it's not already set, WildFly sets the system property
>>>>> jboss.node.name at the very beginning of server boot, so ${
>>>>> jboss.node.name*:1*} would not resolve to 1.
>>>>>
>>>>> On Sun, May 6, 2018 at 6:10 PM, Sebastian Laskawiec <
>>>>> slaskawi at redhat.com> wrote:
>>>>>
>>>>>> Ok, so how about doing the same thing you suggested, but just more
>>>>>> explicitly - adding node-identifier="${jboss.node.name*:1*}". This
>>>>>> way the bare metal deployment should be happy (since the default is still
>>>>>> 1) and we wouldn't need to override it in Infinispan.
>>>>>>
>>>>>> On Tue, May 1, 2018 at 10:09 AM Tom Jenkinson <
>>>>>> tom.jenkinson at redhat.com> wrote:
>>>>>>
>>>>>>> I am not sure - the default should be "1" for the bare metal case so
>>>>>>> the warning is reliably triggered but the default can be the pod name for
>>>>>>> OpenShift templates that only allow a single instance of the application
>>>>>>> server - does that help?
>>>>>>>
>>>>>>> The file you looked to want to edit is shared by bare metal and
>>>>>>> other deployment environments so it would be confusing to set the default
>>>>>>> to jboss.node.name there IMO.
>>>>>>>
>>>>>>> On 1 May 2018 at 03:39, Sebastian Laskawiec <slaskawi at redhat.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Fair enough Tom. Thanks for explanation.
>>>>>>>>
>>>>>>>> One more request - would you guys be OK with me adding
>>>>>>>> a node-identifier="${jboss.node.name}" to the transaction
>>>>>>>> subsystem template [1]? This way we wouldn't need to copy it into
>>>>>>>> Infinispan (since we need to set it).
>>>>>>>>
>>>>>>>> [1] https://github.com/wildfly/wildfly/blob/master/transacti
>>>>>>>> ons/src/main/resources/subsystem-templates/transactions.xml#L6
>>>>>>>>
>>>>>>>> On Wed, Apr 18, 2018 at 3:37 PM Tom Jenkinson <
>>>>>>>> tom.jenkinson at redhat.com> wrote:
>>>>>>>>
>>>>>>>>> On 18 April 2018 at 14:07, Sebastian Laskawiec <
>>>>>>>>> slaskawi at redhat.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hey Tom,
>>>>>>>>>>
>>>>>>>>>> Comments inlined.
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>> Sebastian
>>>>>>>>>>
>>>>>>>>>> On Tue, Apr 17, 2018 at 4:37 PM Tom Jenkinson <
>>>>>>>>>> tom.jenkinson at redhat.com> wrote:
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 16 April 2018 at 09:31, <> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Adding +WildFly Dev <wildfly-dev at lists.jboss.org> to the
>>>>>>>>>>>> loop
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks for the explanation Rado.
>>>>>>>>>>>>
>>>>>>>>>>>> TL;DR: A while ago Sanne pointed out that we do not set
>>>>>>>>>>>> `node-identifier`
>>>>>>>>>>>> in transaction subsystem by default. The default value for the
>>>>>>>>>>>> `node-identifier` attribute it `1`. Not setting this attribute
>>>>>>>>>>>> might cause
>>>>>>>>>>>> problems in transaction recovery. Perhaps we could follow
>>>>>>>>>>>> Rado's idea and
>>>>>>>>>>>> set it to node name by default?
>>>>>>>>>>>>
>>>>>>>>>>> Indeed - it would cause serious data integrity problems if a
>>>>>>>>>>> non-unique node-identifier is used.
>>>>>>>>>>>
>>>>>>>>>>>> Some more comments inlined.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks,
>>>>>>>>>>>> Sebastian
>>>>>>>>>>>>
>>>>>>>>>>>> On Fri, Apr 13, 2018 at 7:07 PM Radoslav Husar <rhusar at
>>>>>>>>>>>> redhat.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> > Hi Sebastian,
>>>>>>>>>>>> >
>>>>>>>>>>>> > On Wed, Apr 11, 2018 at 2:31 PM, Sebastian Laskawiec
>>>>>>>>>>>> > <slaskawi at redhat.com> wrote:
>>>>>>>>>>>> > > Hey Rado, Paul,
>>>>>>>>>>>> > >
>>>>>>>>>>>> > > I started looking into this issue and it turned out that WF
>>>>>>>>>>>> subsystem
>>>>>>>>>>>> > > template doesn't provide `node-identifier` attribute [1].
>>>>>>>>>>>> >
>>>>>>>>>>>> > I assume you mean that the default WildFly server profiles do
>>>>>>>>>>>> not
>>>>>>>>>>>>
>>>>>>>>>>> > explicitly define the attribute. Right ? thus the value
>>>>>>>>>>>> defaults in
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> > the model to "1"
>>>>>>>>>>>> >
>>>>>>>>>>>> > https://github.com/wildfly/wildfly/blob/master/transactions/
>>>>>>>>>>>> src/main/java/org/jboss/as/txn/subsystem/TransactionSubsyste
>>>>>>>>>>>> mRootResourceDefinition.java#L97
>>>>>>>>>>>> > which sole intention seems to be to log a warning on boot if
>>>>>>>>>>>> the value
>>>>>>>>>>>> > is unchanged.
>>>>>>>>>>>> > Why they decided on a constant that will be inherently not
>>>>>>>>>>>> unique as
>>>>>>>>>>>> > opposed to defaulting to the node name (which we already
>>>>>>>>>>>> require to be
>>>>>>>>>>>> > unique) as clustering node name or undertow instance-id does,
>>>>>>>>>>>> is
>>>>>>>>>>>> > unclear to me.
>>>>>>>>>>>> > Some context is on https://issues.jboss.org/browse/WFLY-1119.
>>>>>>>>>>>> >
>>>>>>>>>>>>
>>>>>>>>>>>> In OpenShift environment we could set it to `hostname`. This is
>>>>>>>>>>>> guaranteed
>>>>>>>>>>>> to be unique in whole OpenShift cluster.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> We do this too in EAP images.
>>>>>>>>>>> To Rado's point, the default is "1" so we can print the warning
>>>>>>>>>>> to alert people they are misconfigured - it seems to be working :)
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> This is the point. From my understanding, if we set it to node
>>>>>>>>>> name (instead of "1"), we could make it always work correctly. We could
>>>>>>>>>> even remove the code that emits the warning (since the node name needs to
>>>>>>>>>> be unique).
>>>>>>>>>>
>>>>>>>>>> To sum it up - if we decided to proceed this way, there would be
>>>>>>>>>> no requirement of setting the node-identifier at all.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> For OpenShift you are right there is no requirement for someone to
>>>>>>>>> change the node-identifier from the podname and so that is why EAP images
>>>>>>>>> do that.
>>>>>>>>>
>>>>>>>>> For bare-metal it is different as there can be two servers on the
>>>>>>>>> same machine so they were configured to use the hostname as they
>>>>>>>>> node-identifier then if they were also connected to the same resource
>>>>>>>>> managers or the same object store they would interfere with each other.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> >
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> > > I'm not sure if you guys are the right people to ask, but
>>>>>>>>>>>> is it safe to
>>>>>>>>>>>> > > leave it set to default? Or shall I override our Infinispan
>>>>>>>>>>>> templates and
>>>>>>>>>>>> > > add this parameter (as I mentioned before, in OpenShift
>>>>>>>>>>>> this I wanted to
>>>>>>>>>>>> > set
>>>>>>>>>>>> > > it as Pod name trimmed to the last 23 chars since this is
>>>>>>>>>>>> the limit).
>>>>>>>>>>>>
>>>>>>>>>>> Putting a response to this in line - I am not certain who
>>>>>>>>>>> originally proposed this.
>>>>>>>>>>>
>>>>>>>>>>> You must use a globally unique node-identifier. If you are
>>>>>>>>>>> certain the last 23 characters guarantee that it would be valid - if there
>>>>>>>>>>> is a chance they are not unique it is not valid to trim.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> If that's not an issue, again, we could use the same limit as we
>>>>>>>>>> have for node name.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> >
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> > It is not safe to leave it set to "1" as that results in
>>>>>>>>>>>> inconsistent
>>>>>>>>>>>> > processing of transaction recovery.
>>>>>>>>>>>> > IIUC we already set it to the node name for both EAP and JDG
>>>>>>>>>>>> >
>>>>>>>>>>>> > https://github.com/jboss-openshift/cct_module/blob/master/os
>>>>>>>>>>>> -eap70-openshift/added/standalone-openshift.xml#L411
>>>>>>>>>>>> >
>>>>>>>>>>>> > https://github.com/jboss-openshift/cct_module/blob/master/os
>>>>>>>>>>>> -jdg7-conffiles/added/clustered-openshift.xml#L282
>>>>>>>>>>>>
>>>>>>>>>>> > which in turn defaults to the pod name ? so which profiles are
>>>>>>>>>>>> we
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> > talking about here?
>>>>>>>>>>>> >
>>>>>>>>>>>>
>>>>>>>>>>>> Granted, we set it by default in CCT Modules. However in
>>>>>>>>>>>> Infinispan we just
>>>>>>>>>>>> grab provided transaction subsystem when rendering full
>>>>>>>>>>>> configuration from
>>>>>>>>>>>> featurepacks:
>>>>>>>>>>>> https://github.com/infinispan/infinispan/blob/master/server/
>>>>>>>>>>>> integration/feature-pack/src/main/resources/configuration/st
>>>>>>>>>>>> andalone/subsystems-cloud.xml#L19
>>>>>>>>>>>>
>>>>>>>>>>>> The default configuration XML doesn't contain the
>>>>>>>>>>>> `node-identifier`
>>>>>>>>>>>> attribute. I can add it manually in the cloud.xml but I believe
>>>>>>>>>>>> the right
>>>>>>>>>>>> approach is to modify the transaction subsystem.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> > Rado
>>>>>>>>>>>> >
>>>>>>>>>>>> > > Thanks,
>>>>>>>>>>>> > > Seb
>>>>>>>>>>>> > >
>>>>>>>>>>>> > > [1] usually set to node-identifier="${jboss.node.name}"
>>>>>>>>>>>> > >
>>>>>>>>>>>> > >
>>>>>>>>>>>>
>>>>>>>>>>> > > On Mon, Apr 9, 2018 at 10:39 AM Sanne Grinovero <sanne at
>>>>>>>>>>>> infinispan.org>
>>>>>>>>>>>> > > wrote:
>>>>>>>>>>>> > >>
>>>>>>>>>>>> > >> On 9 April 2018 at 09:26, Sebastian Laskawiec <slaskawi at
>>>>>>>>>>>> redhat.com>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> > wrote:
>>>>>>>>>>>> > >> > Thanks for looking into it Sanne. Of course, we should
>>>>>>>>>>>> add it (it can
>>>>>>>>>>>> > be
>>>>>>>>>>>> > >> > set
>>>>>>>>>>>> > >> > to the same name as hostname since those are unique in
>>>>>>>>>>>> Kubernetes).
>>>>>>>>>>>> > >> >
>>>>>>>>>>>> > >> > Created https://issues.jboss.org/browse/ISPN-9051 for
>>>>>>>>>>>> it.
>>>>>>>>>>>> > >> >
>>>>>>>>>>>> > >> > Thanks again!
>>>>>>>>>>>> > >> > Seb
>>>>>>>>>>>> > >>
>>>>>>>>>>>> > >> Thanks Sebastian!
>>>>>>>>>>>> > >>
>>>>>>>>>>>> > >> >
>>>>>>>>>>>>
>>>>>>>>>>> > >> > On Fri, Apr 6, 2018 at 8:53 PM Sanne Grinovero <sanne at
>>>>>>>>>>>> infinispan.org>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> > >> > wrote:
>>>>>>>>>>>> > >> >>
>>>>>>>>>>>> > >> >> Hi all,
>>>>>>>>>>>> > >> >>
>>>>>>>>>>>> > >> >> I've started to use the Infinispan Openshift Template
>>>>>>>>>>>> and was
>>>>>>>>>>>> > browsing
>>>>>>>>>>>> > >> >> through the errors and warnings this produces.
>>>>>>>>>>>> > >> >>
>>>>>>>>>>>> > >> >> In particular I noticed "WFLYTX0013: Node identifier
>>>>>>>>>>>> property is set
>>>>>>>>>>>> > >> >> to the default value. Please make sure it is unique."
>>>>>>>>>>>> being produced
>>>>>>>>>>>> > >> >> by the transaction system.
>>>>>>>>>>>> > >> >>
>>>>>>>>>>>> > >> >> The node id is usually not needed for developer's
>>>>>>>>>>>> convenience and
>>>>>>>>>>>> > >> >> assuming there's a single node in "dev mode", yet
>>>>>>>>>>>> clearly the
>>>>>>>>>>>> > >> >> Infinispan template is meant to work with multiple
>>>>>>>>>>>> nodes running so
>>>>>>>>>>>> > >> >> this warning seems concerning.
>>>>>>>>>>>> > >> >>
>>>>>>>>>>>> > >> >> I'm not sure what the impact is on the transaction
>>>>>>>>>>>> manager so I asked
>>>>>>>>>>>> > >> >> on the Narayana forums; Tom pointed me to some
>>>>>>>>>>>> thourough design
>>>>>>>>>>>> > >> >> documents and also suggested the EAP image does set the
>>>>>>>>>>>> node
>>>>>>>>>>>> > >> >> identifier:
>>>>>>>>>>>> > >> >>  - https://developer.jboss.org/message/981702#981702
>>>>>>>>>>>> > >> >>
>>>>>>>>>>>> > >> >> WDYT? we probably want the Infinispan template to set
>>>>>>>>>>>> this as well,
>>>>>>>>>>>> > or
>>>>>>>>>>>> > >> >> silence the warning?
>>>>>>>>>>>> > >> >>
>>>>>>>>>>>> > >> >> Thanks,
>>>>>>>>>>>> > >> >> Sanne
>>>>>>>>>>>> > >> >> _______________________________________________
>>>>>>>>>>>> > >> >> infinispan-dev mailing list
>>>>>>>>>>>>
>>>>>>>>>>> > >> >> infinispan-dev at lists.jboss.org
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> > >> >> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>>>>>>>>>>> > >> >
>>>>>>>>>>>> > >> >
>>>>>>>>>>>> > >> > _______________________________________________
>>>>>>>>>>>> > >> > infinispan-dev mailing list
>>>>>>>>>>>>
>>>>>>>>>>> > >> > infinispan-dev at lists.jboss.org
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> > >> > https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>>>>>>>>>>> > >> _______________________________________________
>>>>>>>>>>>> > >> infinispan-dev mailing list
>>>>>>>>>>>> > >> infinispan-dev at lists.jboss.org
>>>>>>>>>>>> > >> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>>>>>>>>>>> >
>>>>>>>>>>>> -------------- next part --------------
>>>>>>>>>>>> An HTML attachment was scrubbed...
>>>>>>>>>>>> URL: http://lists.jboss.org/piperma
>>>>>>>>>>>> il/wildfly-dev/attachments/20180416/65962cf1/attachment-0001
>>>>>>>>>>>> .html
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>
>>>>>> _______________________________________________
>>>>>> wildfly-dev mailing list
>>>>>> wildfly-dev at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Brian Stansberry
>>>>> Manager, Senior Principal Software Engineer
>>>>> Red Hat
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Brian Stansberry
>>> Manager, Senior Principal Software Engineer
>>> Red Hat
>>>
>>
>>
>
>
> --
> Brian Stansberry
> Manager, Senior Principal Software Engineer
> Red Hat
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/wildfly-dev/attachments/20180509/1f924419/attachment-0001.html 


More information about the wildfly-dev mailing list