0 Replies Latest reply on Oct 7, 2013 5:48 AM by Hans Steiner

    Transaction cancelled without error

    Hans Steiner Newbie

      Hello,

      I hope someone can help me with a serious problem in my production system.

      Today I found this log entry

      02.10.2013 14:16:33,321 WARN  [com.arjuna.ats.arjuna](Transaction Reaper) [{ARJUNA012117: TransactionReaper::check timeout for TX 0:ffff0a250021:-7dcc7ed4:523a7bdd:93c52 in state  RUN}]

      02.10.2013 14:16:33,326 WARN  [com.arjuna.ats.arjuna](Transaction Reaper Worker 0) [{ARJUNA012095: Abort of action id 0:ffff0a250021:-7dcc7ed4:523a7bdd:93c52 invoked while multiple threads active within it.}]

      02.10.2013 14:16:33,327 WARN  [com.arjuna.ats.arjuna](Transaction Reaper Worker 0) [{ARJUNA012108: CheckedAction::check - atomic action 0:ffff0a250021:-7dcc7ed4:523a7bdd:93c52 aborting with 1 threads active!}]

      02.10.2013 14:16:33,332 WARN  [org.hornetq.core.server.impl.QueueImpl](Thread-19 (HornetQ-server-HornetQServerImpl::serverUUID=4ee0b653-fb3a-11e1-9e50-005056890049-149147429)) [{Message Reference[2150382874]:RELIABLE:ServerMessage[messageID=2150382874,priority=4, bodySize=1500,expiration=0, durable=true, address=... has reached maximum delivery attempts, sending it to Dead Letter Address jms.queue.DLQ}]

      02.10.2013 14:16:33,389 WARN  [com.arjuna.ats.arjuna](Transaction Reaper Worker 0) [{ARJUNA012121: TransactionReaper::doCancellations worker Thread[Transaction Reaper Worker 0,5,main] successfully canceled TX 0:ffff0a250021:-7dcc7ed4:523a7bdd:93c52}]

       

      The problem is, that there is no error logged in my log file nor any exception has been caught. My MDB (that is calling some other session beans) has the following code

       

      } catch (JMSException ex) {

         log.error(...);

         context.setRollbackOnly();

      } catch (MyException ex) {

         if (!ex.isLogged()) {

            log.error(...);

         }

         context.setRollbackOnly();

      } catch (RuntimeException ex) {

         throw new EJBTransactionRolledbackException(...);

      }

       

      I don't understand why there is no error in the log file.

      Do I have forgotten to catch anything?

      Can it be legal for the container, to cancel a transaction (nothing is written to the database) without throwing an exception?

      What can I do, to receive the information, that a transaction has been canceled by the container?

       

      Thx for any advice

      Hans