2 Replies Latest reply on May 27, 2004 3:22 AM by aloubyansky

    Server becomes nonresponsive after several Transaction Timeo

    spetter

      I have an application that is able to function continously for many days without any problems. Suddenly, the application stops processing, and we start getting several occurances of the following message/warning:

      10:42:37,961 WARN [TransactionImpl] Transaction TransactionImpl:XidImpl [Format
      Id=257, GlobalId=HQ-ALL25//29, BranchQual=] timed out. status=STATUS_ACTIVE

      From reading the forums, we know this is usually an indication that a deadlock situation has occurred. However, we are unable to see the usual ApplicationDeadlockException.

      Application information:
      1) We are using JBoss version 3.2.1.
      2) Our bean execution chain is MDB-->SLSB-->Entity Bean (CMP).
      3) We are using Instance Per Transaction to solve our deadlock problems.
      4) We already upgraded to the latest version of concurrent.jar (1.3.3) to solve previously reported MDB message reception problems.

      Here are my questions:
      1) Are there still deadlock situations that JBoss cannot predict or detect?
      2) Is it possible, that even while using Instance Per Transaction with JBoss, for all Entity Beans to become locked? (Resulting in a non-responsive server)
      3) Is there a good way to debug this sort of problem?

      Any help is greatly appreciated!
      Thanks,
      Julie

        • 1. Re: Server becomes nonresponsive after several Transaction T
          spetter

          Additional information:

          Our transaction timeout is set to 1 hour.

          • 2. Re: Server becomes nonresponsive after several Transaction T
            aloubyansky

            1) Are there still deadlock situations that JBoss cannot predict or detect?

            Yes. For example, when an instance is locked in a transaction then we call a method with RequiresNew and that new transaction tries to lock the instance that was locked by the previous not yet committed transaction.
            A deadlock might also occur in other non-EJB layers like database and shared resources.

            2) Is it possible, that even while using Instance Per Transaction with JBoss, for all Entity Beans to become locked?

            Not in EJB layer except for the case above with when the same thread accesses same instances from different transactinal contexts (see above).

            3) Is there a good way to debug this sort of problem?

            You can increase log level to TRACE (see log4j.xml for example) for org.jboss.ejb.plugins and org.jboss.tm. And analyse thread dumps.