3 Replies Latest reply on Jul 24, 2014 4:10 AM by Frank Henry

    Arjunta/HornetQ XAException Warning, but where to start looking?

    Frank Henry Novice

      This was the initial reason for my upgrade form AS 7.2 to WF 8.1.


      I have multiple topics and multiple listeners and emitters and when this warning popped up, I was, and still am, pretty clueless where to even start looking.


      And ideas?



      08:31:54,540 INFO  [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016013: Rolling back < formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffffac1d0101:76c9194f:53bf9f68:607, node_name=1, branch_uid=0:ffffac1d0101:76c9194f:53bf9f68:608, subordinatenodename=null, eis_name=unknown eis name >

      08:31:54,588 WARN  [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016027: Local XARecoveryModule.xaRecovery got XA exception XAException.XAER_NOTA: javax.transaction.xa.XAException

          at org.hornetq.core.client.impl.ClientSessionImpl.rollback(ClientSessionImpl.java:1776) [hornetq-core-client-2.4.1.Final.jar:]

          at org.hornetq.core.client.impl.DelegatingSession.rollback(DelegatingSession.java:514) [hornetq-core-client-2.4.1.Final.jar:]

          at org.hornetq.jms.server.recovery.HornetQXAResourceWrapper.rollback(HornetQXAResourceWrapper.java:125) [hornetq-jms-server-2.4.1.Final.jar:]

          at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.handleOrphan(XARecoveryModule.java:786) [narayana-jts-jacorb-5.0.0.Final.jar:5.0.0.Final (revision: 9aa71)]

          at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecoverySecondPass(XARecoveryModule.java:692) [narayana-jts-jacorb-5.0.0.Final.jar:5.0.0.Final (revision: 9aa71)]

          at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.bottomUpRecovery(XARecoveryModule.java:431) [narayana-jts-jacorb-5.0.0.Final.jar:5.0.0.Final (revision: 9aa71)]

          at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkSecondPass(XARecoveryModule.java:212) [narayana-jts-jacorb-5.0.0.Final.jar:5.0.0.Final (revision: 9aa71)]

          at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:789) [narayana-jts-jacorb-5.0.0.Final.jar:5.0.0.Final (revision: 9aa71)]

          at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:371) [narayana-jts-jacorb-5.0.0.Final.jar:5.0.0.Final (revision: 9aa71)]

        • 1. Re: Arjunta/HornetQ XAException Warning, but where to start looking?
          Jeff Mesnil Master

          Do you an example or code sample that I could use to reproduce the issue?

          • 2. Re: Arjunta/HornetQ XAException Warning, but where to start looking?
            Frank Henry Novice

            Sadly my stack is quite large and I am still trying to find any indication of where the issues is even coming from. The Warning also does not constantly pop up. It can take some time to be seen.

            Like I said, multiple topics and MDBs and emitters, could be anywhere. So I am currently going through it, piece by piece. I started off by adding @Timeouts to MDBs and I'm currently adding it to my other Beans.


            Can someone tell me the scenario in which this can happen?

            Something seems to cause the transaction to roll back ... but what?

            • 3. Re: Arjunta/HornetQ XAException Warning, but where to start looking?
              Frank Henry Novice

              After more digging, I am still at a loss. I am guessing it has something to do with messages (clearly since hornetq shows up in the warning) trying to write to my private cache through a Singleton.

              I have tried to remove all transactions (these specific messages do not need it) but the warning still shows up.

              What I do notice is that when the warnings show, a file called standalone/data/infinispan/propertystorage/cachedb.dat shows up (cachedb = my cache)

              I also have no transactions on the cache set. At least I hope that I have disabled it.


              What baffles me is that I have try/catches and @Timeouts everywhere, yet none of them show. Is there another way to catch any problems that might help?


              Still the warnings show up. While I could easily hide the warning, there has to be something I am doing wrong and that cannot be good.

              I also do not want my system filling up with transaction data as our server env does not have a lot of space.


              Any one got any suggestions?