Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-14878

Transaction subsystem attribute enable-tsm-status requires restart of JVM to be activated

    XMLWordPrintable

    Details

    • Steps to Reproduce:
      Hide

      Set the enable-tsm-status to true and reload.

      /subsystem=transactions:write-attribute(name=enable-tsm-status,value=true)
      :reload
      

      Try to connect with telnet to port

      telnet localhost 4713
      Trying ::1...
      telnet: connect to address ::1: Connection refused
      Trying 127.0.0.1...
      telnet: connect to address 127.0.0.1: Connection refused
      

      Try to restart

      :shutdown(restart=true)
      

      Connect with telnet

      telnet localhost 4713
      Trying ::1...
      telnet: connect to address ::1: Connection refused
      Trying 127.0.0.1...
      Connected to localhost.
      Escape character is '^]'.
      20152a11
      OK
      
      ^]
      
      Show
      Set the enable-tsm-status to true and reload. /subsystem=transactions:write-attribute(name=enable-tsm-status,value= true ) :reload Try to connect with telnet to port telnet localhost 4713 Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... telnet: connect to address 127.0.0.1: Connection refused Try to restart :shutdown(restart= true ) Connect with telnet telnet localhost 4713 Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... Connected to localhost. Escape character is '^]' . 20152a11 OK ^]

      Description

      The transaction subsystem attribute enable-tsm-status is wrongly defined to require only :reload of the application server (https://github.com/wildfly/wildfly/blob/23.0.2.Final/transactions/src/main/java/org/jboss/as/txn/subsystem/TransactionSubsystemRootResourceDefinition.java#L172 -> RESTART_ALL_SERVICES)
      but for the Narayana status manager service to open the socket, and listens to connetions there is needed the JVM restart.

      The enable status manager is controled by static variable in Narayana https://github.com/jbosstm/narayana/blob/0e75da61eb3feb5108e590935c3b97a6d05b1d47/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/TxControl.java#L257 and it's value has no other setter method than setting the value at the JVM start (more precisely when the TXControl class is class loaded).

        Attachments

          Activity

            People

            Assignee:
            ochaloup Ondrej Chaloupka
            Reporter:
            ochaloup Ondrej Chaloupka
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: