12 Replies Latest reply on May 2, 2017 10:06 AM by berhauz

    JBAS010153: Node identifier property is set to the default value. Please make sure it is unique.

    lafr

      Using latest WildFly sources from github as of today, I see this message on startup now:

      12.03. 21:28:58,544 WARN  [org.jboss.as.txn#checkIfNodeIdentifierIsDefault] JBAS010153: Node identifier property is set to the default value. Please make sure it is unique.

      This sounds like a warning for HA. But I'm using WF in standalone mode.

      And adding something like -Djboss.node.name=`hostname` does not make the message go away.


      My questions:

      - should this message appear in standalone mode?

      - If yes, how to set this property?


        • 1. Re: JBAS010153: Node identifier property is set to the default value. Please make sure it is unique.
          pferraro

          The node identifier in question here is the value set by the transaction subsystem.

          e.g.

           

          <subsystem xmlns="urn:jboss:domain:transactions:2.0">
             <core-environment node-identifier="...">...</core-environment>
          </subsystem>
          

           

          This is distinct from the jboss.node.name system property.

          1 of 1 people found this helpful
          • 2. Re: JBAS010153: Node identifier property is set to the default value. Please make sure it is unique.
            pbenedict

            I am running 2 WildFly instances on the same machine. Does the TX "node-identifier" need to be separate for my setup? Otherwise, I cannot figure out the importance of this warning (warnings do signify a potentially unsafe condition but what's the remedy?)

            • 3. Re: JBAS010153: Node identifier property is set to the default value. Please make sure it is unique.
              jorsol

              Is posible to use as value of node-identifier the jboss.node.name system property? If not how can we set a node-identifier in domain mode since various instances share the same profile?

              • 4. Re: JBAS010153: Node identifier property is set to the default value. Please make sure it is unique.
                ctomc

                jboss.node.name defaults to "server name" which in standalone results in name of the server where you are running

                and in domain mode to server name you configured for server in server group.

                • 5. Re: JBAS010153: Node identifier property is set to the default value. Please make sure it is unique.
                  jorsol

                  Then is safe to use this:?


                  <subsystem xmlns="urn:jboss:domain:transactions:2.0"> 

                     <core-environment node-identifier="${jboss.node.name}">...</core-environment> 

                  </subsystem>

                  • 6. Re: JBAS010153: Node identifier property is set to the default value. Please make sure it is unique.
                    pgarner

                    @Paul Ferraro it would be helpful if you would provide an example(s) of what we can put as the value of attribute node-identifier="..." for those of us who are learning how to use Wildfly.  Just a stand alone instance on a workstation used solely to develop application in order to learn JEE.


                    P.S. I found this in Wildfly JTS kickstart


                      • Find the transaction subsystem and set a unique node-identifier, (replace the words UNIQUE_IDENTIFER with values unique to both servers) and append the <jts/>element:
                        <subsystem xmlns="urn:jboss:domain:transactions:1.2"> 
                         <core-environment node-identifier="UNIQUE_IDENTIFIER"> <!-- LEAVE EXISTING CONFIG AND APPEND THE FOLLOWING --> 
                         <jts/> 
                        </subsystem> 

                    From what I can gather with my limited knowledge it seems that we can simply put any unique value?

                     

                    P.P.S. I learned that the node-identifier value must be max length 23 characters

                     

                    21:28:31,645 ERROR [org.jboss.as.server] (Controller Boot Thread) JBAS015956: Caught exception during boot: org.jboss.as.controller.persistence.ConfigurationPersistenceException: JBAS014676: Failed to parse configuration

                        at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:112) [wildfly-controller-8.1.0.CR2.jar:8.1.0.CR2]

                        at org.jboss.as.server.ServerService.boot(ServerService.java:331) [wildfly-server-8.1.0.CR2.jar:8.1.0.CR2]

                        at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:256) [wildfly-controller-8.1.0.CR2.jar:8.1.0.CR2]

                        at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_05]

                    Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[363,80]

                    Message: "JBAS014703: 'server000000000000000000000001' is an invalid value for parameter node-identifier. Values must have a maximum length of 23 characters"

                        at org.jboss.as.controller.SimpleAttributeDefinition.parse(SimpleAttributeDefinition.java:346) [wildfly-controller-8.1.0.CR2.jar:8.1.0.CR2]

                        at org.jboss.as.controller.SimpleAttributeDefinition.parseAndSetParameter(SimpleAttributeDefinition.java:371) [wildfly-controller-8.1.0.CR2.jar:8.1.0.CR2]

                        at org.jboss.as.txn.subsystem.TransactionSubsystem14Parser.parseCoreEnvironmentElement(TransactionSubsystem14Parser.java:317)

                        at org.jboss.as.txn.subsystem.TransactionSubsystem14Parser.readElement(TransactionSubsystem14Parser.java:124)

                        at org.jboss.as.txn.subsystem.TransactionSubsystem14Parser.readElement(TransactionSubsystem14Parser.java:110)

                        at org.jboss.as.txn.subsystem.TransactionSubsystem14Parser.readElement(TransactionSubsystem14Parser.java:53)

                        at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:110) [staxmapper-1.1.0.Final.jar:1.1.0.Final]

                        at org.jboss.staxmapper.XMLExtendedStreamReaderImpl.handleAny(XMLExtendedStreamReaderImpl.java:69) [staxmapper-1.1.0.Final.jar:1.1.0.Final]

                        at org.jboss.as.server.parsing.StandaloneXml.parseServerProfile(StandaloneXml.java:1131) [wildfly-server-8.1.0.CR2.jar:8.1.0.CR2]

                        at org.jboss.as.server.parsing.StandaloneXml.readServerElement_1_4(StandaloneXml.java:458) [wildfly-server-8.1.0.CR2.jar:8.1.0.CR2]

                        at org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml.java:145) [wildfly-server-8.1.0.CR2.jar:8.1.0.CR2]

                        at org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml.java:107) [wildfly-server-8.1.0.CR2.jar:8.1.0.CR2]

                        at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:110) [staxmapper-1.1.0.Final.jar:1.1.0.Final]

                        at org.jboss.staxmapper.XMLMapperImpl.parseDocument(XMLMapperImpl.java:69) [staxmapper-1.1.0.Final.jar:1.1.0.Final]

                        at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:104) [wildfly-controller-8.1.0.CR2.jar:8.1.0.CR2]

                        ... 3 more

                     

                    • 7. Re: Re: JBAS010153: Node identifier property is set to the default value. Please make sure it is unique.
                      the_alchemist

                      For those of you who found this via google, it's not going to work because it won't allow the jts element.  You'll get:

                       

                      13:10:10,508 ERROR [org.jboss.as.server] (Controller Boot Thread) JBAS015956: Caught exception during boot: org.jboss.as.controller.persistence.ConfigurationPersistenceException: JBAS014676: Failed to parse configuration
                        at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:112) [wildfly-controller-8.1.0.Final.jar:8.1.0.Final]
                        at org.jboss.as.server.ServerService.boot(ServerService.java:331) [wildfly-server-8.1.0.Final.jar:8.1.0.Final]
                        at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:256) [wildfly-controller-8.1.0.Final.jar:8.1.0.Final]
                        at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_60]
                      Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[416,10]
                      Message: JBAS014789: Unexpected element '{urn:jboss:domain:transactions:2.0}jts' encountered
                        at org.jboss.as.controller.parsing.ParseUtils.unexpectedElement(ParseUtils.java:85) [wildfly-controller-8.1.0.Final.jar:8.1.0.Final]
                        at org.jboss.as.txn.subsystem.TransactionSubsystem14Parser.parseCoreEnvironmentElement(TransactionSubsystem14Parser.java:344)
                        at org.jboss.as.txn.subsystem.TransactionSubsystem14Parser.readElement(TransactionSubsystem14Parser.java:124)
                        at org.jboss.as.txn.subsystem.TransactionSubsystem14Parser.readElement(TransactionSubsystem14Parser.java:110)
                        at org.jboss.as.txn.subsystem.TransactionSubsystem14Parser.readElement(TransactionSubsystem14Parser.java:53)
                        at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:110) [staxmapper-1.1.0.Final.jar:1.1.0.Final]
                        at org.jboss.staxmapper.XMLExtendedStreamReaderImpl.handleAny(XMLExtendedStreamReaderImpl.java:69) [staxmapper-1.1.0.Final.jar:1.1.0.Final]
                        at org.jboss.as.server.parsing.StandaloneXml.parseServerProfile(StandaloneXml.java:1131) [wildfly-server-8.1.0.Final.jar:8.1.0.Final]
                        at org.jboss.as.server.parsing.StandaloneXml.readServerElement_1_4(StandaloneXml.java:458) [wildfly-server-8.1.0.Final.jar:8.1.0.Final]
                        at org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml.java:145) [wildfly-server-8.1.0.Final.jar:8.1.0.Final]
                        at org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml.java:107) [wildfly-server-8.1.0.Final.jar:8.1.0.Final]
                        at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:110) [staxmapper-1.1.0.Final.jar:1.1.0.Final]
                        at org.jboss.staxmapper.XMLMapperImpl.parseDocument(XMLMapperImpl.java:69) [staxmapper-1.1.0.Final.jar:1.1.0.Final]
                        at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:104) [wildfly-controller-8.1.0.Final.jar:8.1.0.Final]
                        ... 3 more
                      

                       

                      I just skipped the jts element and it worked fine.  i.e.,

                       

                              <subsystem xmlns="urn:jboss:domain:transactions:2.0">
                                  <core-environment node-identifier="some_uniq_key">
                                      <process-id>
                                          <uuid/>
                                      </process-id>
                                  </core-environment>
                                  <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
                              </subsystem>
                      
                      • 8. Re: JBAS010153: Node identifier property is set to the default value. Please make sure it is unique.
                        hr.stoyanov

                        I tried to generate UUID with Ansible to fix the warning in WF9.0.2. Unfortunately there is some 23-characters limitation for the node-identifier attribute? Can this limitation be lifted in the nedxt release of WF10, please?

                        • 9. Re: JBAS010153: Node identifier property is set to the default value. Please make sure it is unique.
                          ricardoarguello

                          The size limitation to 23 characters for the node-identifier attribute is coded here:

                           

                          https://github.com/wildfly/wildfly/blob/master/transactions/src/main/java/org/jboss/as/txn/subsystem/TransactionSubsystemRootResourceDefinition.java#L95

                           

                          I don't know the reason for the limit, anyone?

                           

                          --

                          Ricardo Arguello

                          • 10. Re: JBAS010153: Node identifier property is set to the default value. Please make sure it is unique.
                            jaikiran

                            Ricardo Arguello wrote:

                             

                            The size limitation to 23 characters for the node-identifier attribute is coded here:

                             

                            https://github.com/wildfly/wildfly/blob/master/transactions/src/main/java/org/jboss/as/txn/subsystem/TransactionSubsystemRootResourceDefinition.java#L95

                             

                            I don't know the reason for the limit, anyone?

                             

                            --

                            Ricardo Arguello

                            Maybe the transactions team ( tomjenkinson) knows more about it.

                            • 11. Re: JBAS010153: Node identifier property is set to the default value. Please make sure it is unique.
                              tomjenkinson

                              Thanks for the tag.

                               

                              It's used in part of our Xid format which has a hard limit on sizing.

                              • 12. Re: JBAS010153: Node identifier property is set to the default value. Please make sure it is unique.
                                berhauz

                                Best practice (case below with 2 servers named server-main and server-schedule respectively):

                                see RedHat KB article: https://access.redhat.com/solutions/260023

                                in CLI (do this for each server and profile and do supply distinguished values):

                                [domain@cs-v-mbr-test:7000 /] /host=master/server-config=server-main/system-property=jboss.tx.node.id:add(boot-time=true,value=111)
                                [domain@cs-v-mbr-test:7000 /] /host=master/server-config=server-schedule/system-property=jboss.tx.node.id:add(boot-time=true,value=222)
                                [domain@cs-v-mbr-test:7000 /] /profile=main/subsystem=transactions:write-attribute(name=node-identifier,value="${jboss.tx.node.id}")
                                [domain@cs-v-mbr-test:7000 /] /profile=schedule/subsystem=transactions:write-attribute(name=node-identifier,value="${jboss.tx.node.id}")

                                This will add the lines:

                                <subsystem xmlns="urn:jboss:domain:transactions:1.4"> <core-environment node-identifier="${jboss.tx.node.id}">

                                in each profile section of the domain.xml configuration file,

                                 

                                and

                                <system-properties>

                                       <property name="jboss.tx.node.id" value="111" boot-time="true"/>

                                </system-properties>

                                under each server definition in the host.xml configuration file.

                                 

                                A server reload is required

                                1 of 1 people found this helpful