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

Sebastian Laskawiec slaskawi at redhat.com
Wed May 9 21:56:41 EDT 2018


I'm sorry for delay... I got sucked by the Summit prep activities.

Yes, to all, what you said! Shall I create a JIRA for you?



On Wed, May 9, 2018 at 9:39 AM Tom Jenkinson <tom.jenkinson at redhat.com>
wrote:

> 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="${
>> jboss.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-quickstarts/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/transactions/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/TransactionSubsystemRootResourceDefinition.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/standalone/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/pipermail/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/20180510/e572c406/attachment-0001.html 


More information about the wildfly-dev mailing list