3 Replies Latest reply on Jun 10, 2007 7:56 AM by alchemista

    Transaction TransactionImpl time out ?

    paulfg

      hello,

      i have a client software trying to connect
      to stateful sessions ejbs.

      usually it works fine, but sometimes :

      - the software can't connect anymore.
      client waiting for ever, the jboss log says :
      ...
      WARN [org.jboss.tm.TransactionImpl] Transaction TransactionImpl:XidImpl [FormatId=257, GlobalId=kuril//17030, BranchQual=] timed out. status=STATUS_ACTIVE

      the last messages before this one are regular ones :
      ...
      DEBUG [org.jboss.ejb.StatefulSessionContainer] Created new session ID: ee7agqyi-2v
      DEBUG [org.jboss.ejb.StatefulSessionContainer] Using create method for session: public void com.toto.ejb.main.LimsPreferencesFacadeBean.ejbCreate() throws javax.ejb.CreateException
      INFO [STDOUT] LimsPreferencesFacade Bean ejbCreate
      DEBUG [org.jboss.proxy.ejb.ProxyFactory] seting invoker proxy binding for stateful session: stateful-rmi-invoker

      - restarting the client doesn't help

      - i have to restart jboss.

      ( of course this is a big problem for me,
      restarting a production server ...)

      any ideas ? do you need other informations ?

      thanks, paul.

        • 1. Re: Transaction TransactionImpl time out ?
          paulfg

          a detail :
          when this is happening,
          i have to kill the java jboss process.
          shutting down the service doesn't work anymore.

          i use :
          -Xmx2000m -Xms2000m
          to keep memory problems away, but it doesn't
          seem to be enough ...

          • 2. Re: Transaction TransactionImpl time out ?

            I got the same errors after upgrading to 4.0.2 (from 3.2.6). It happens when a process it too slow and it exceeds the time-out of 5 minutes set in JBoss for transactions.
            The result is indeed very disturbing, JBoss sort of crashes, it will only serve error pages and sends thousands of ERROR e-mails (log4j is set up to do so) in only a few minutes of time. The only solution is to kill the JBoss process.

            I am not sure if the cause of this is new for JBoss 4, because for my implementation JBoss 4 is about 40% slower then JBoss 3, so that might be the cause of my time-out problem. But the solution is not very simple because you might think it could help to increase the time-out value (conf/jboss-service.xml). It doesn't. Somehow this value is not taken into account. And i am using Hibernate for the persistence, and i did not find a way to influence the time-out settings of a transaction programatically (the normal transactions can, but hibernate hides or disables these functions). So, i have reprogrammed the 'heavy pieces' of software. All intense calculations are performed before any transaction and that seems to have solved my problems.

            Jaap

            • 3. Re: Transaction TransactionImpl time out ?
              alchemista

               

              "jaap" wrote:
              I got the same errors after upgrading to 4.0.2 (from 3.2.6). It happens when a process it too slow and it exceeds the time-out of 5 minutes set in JBoss for transactions.
              The result is indeed very disturbing, JBoss sort of crashes, it will only serve error pages and sends thousands of ERROR e-mails (log4j is set up to do so) in only a few minutes of time. The only solution is to kill the JBoss process.

              I am not sure if the cause of this is new for JBoss 4, because for my implementation JBoss 4 is about 40% slower then JBoss 3, so that might be the cause of my time-out problem. But the solution is not very simple because you might think it could help to increase the time-out value (conf/jboss-service.xml). It doesn't. Somehow this value is not taken into account. And i am using Hibernate for the persistence, and i did not find a way to influence the time-out settings of a transaction programatically (the normal transactions can, but hibernate hides or disables these functions). So, i have reprogrammed the 'heavy pieces' of software. All intense calculations are performed before any transaction and that seems to have solved my problems.

              Jaap


              I think the reason that editing that file is not sufficient is that it may not be persisted across restarts. I found from some other research that if you want to change the timeout setting across restarts, then:

              You can edit the jboss-service.xml file in server/conf/templates to
              persist values across restarts.

              I haven't tested this myself yet, however.