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

Default transaction timeout is not applied for EJB bean when set for second time

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 10.x.x TBD
    • None
    • EJB, Transactions
    • None
    • Hide
      • Start EAP server
      • Deploy app with EJB
      • Define transaction timeout
        • /subsystem=transactions:write-attribute(name=default-timeout, value = 1)
      • Call ejb method with Thread sleep greater than 1 (e.g. 5 seconds)
        • transaction will be timeouted (timeout is 1, sleep time is 5)
      • Define transaction timeout greater than bean sleep time (e.g. 10 seconds)
        • /subsystem=transactions:write-attribute(name=default-timeout, value = 10)
      • Call ejb method with Thread sleep less than 10 (e.g. 5 seconds)
        • transaction should not be timeouted (but it's which is wrong)

      There is a reproducer in eap management testsuite

      Show
      Start EAP server Deploy app with EJB Define transaction timeout /subsystem=transactions:write-attribute(name=default-timeout, value = 1) Call ejb method with Thread sleep greater than 1 (e.g. 5 seconds) transaction will be timeouted (timeout is 1, sleep time is 5) Define transaction timeout greater than bean sleep time (e.g. 10 seconds) /subsystem=transactions:write-attribute(name=default-timeout, value = 10) Call ejb method with Thread sleep less than 10 (e.g. 5 seconds) transaction should not be timeouted (but it's which is wrong) There is a reproducer in eap management testsuite git clone http://git.app.eng.bos.redhat.com/git/jbossqe-eap-tests-management.git cd jbossqe-eap-tests-management mvn clean integration-test -Dit.test=TimeoutITManual -Pintegration-tests -Djboss.home=$JBOSS_HOME

      It seems that transaction subsystem attribute default-timeout does not have any effect for EJB if it's redefined. It means if I set the default transaction timeout in transaction subystem for second (and next) time it's not applied for EJB beans. It's used the firstly set value.

      The transaction timeout is not changed for EJB when server is reloaded. When server is restarted it refreshes all settings and EJB starts using the expected value for timeout settings.

      If the value is read from subsystem
      /subsystem=transactions:read-attribute(name=default-timeout)
      it shows correct value (that one set for second time). But EJB seems not applying it.

              fedor.gavrilov Fedor Gavrilov (Inactive)
              ochaloup@redhat.com Ondrej Chaloupka (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: