2 Replies Latest reply on Jun 18, 2003 3:33 PM by tcabot

    infrequent timeouts

    tcabot

      Hi, we're using JBoss jboss-3.2.0RC4 with Sun's 1.4.1-b21 and Oracle on Red Hat 7.3 and seeing a very infrequent lockup condition. We're reading fairly simple data from a BMP EJB and see (after roughly 5 minutes) :

      2003-06-16 10:19:50,856 WARN [org.jboss.tm.TransactionImpl] Transaction TransactionImpl:XidImpl [FormatId=257, GlobalId=DPS03//81411, BranchQual=] timed out. status=STATUS_ACTIVE

      Then about 2 1/2 minutes later we get an exception thrown to our application code:

      2003-06-16 10:21:20,416 ERROR [org.jboss.ejb.BeanLock] Saw rolled back tx=TransactionImpl:XidImpl [FormatId=257, GlobalId=DPS03//81411, BranchQual=]
      2003-06-16 10:21:20,432 ERROR [org.jboss.ejb.plugins.LogInterceptor] TransactionRolledbackException, causedBy:
      java.lang.RuntimeException: Transaction marked for rollback, possibly a timeout
      at org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock.doSchedule(QueuedPessimisticEJBLock.java:201)
      at org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock.schedule(QueuedPessimisticEJBLock.java:157)
      at org.jboss.ejb.plugins.EntityLockInterceptor.invoke(EntityLockInterceptor.java:85)
      at org.jboss.ejb.plugins.EntityCreationInterceptor.invoke(EntityCreationInterceptor.java:53)
      at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84)
      at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:243)
      at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:104)
      at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:117)
      at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:198)
      at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
      at org.jboss.ejb.EntityContainer.internalInvoke(EntityContainer.java:483)
      at org.jboss.ejb.Container.invoke(Container.java:678)
      at sun.reflect.GeneratedMethodAccessor102.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
      at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:101)
      at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:88)
      at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:77)
      at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:80)
      at org.jboss.proxy.ejb.EntityInterceptor.invoke(EntityInterceptor.java:112)
      at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:82)
      at $Proxy171.getPersistable(Unknown Source)

      Is this enough info to trip someone's aha! switch or is there a jboss category that I can set to get more info?

      Thanks,
      Toby Cabot

        • 1. Re: infrequent timeouts

          Your invocation is waiting for some
          other transaction that has not completed.

          Try configuring TRACE logging for
          org.jboss.ejb.BeanLock and
          org.jboss.ejb.plugins.TxInterceptorCMT

          and add {%t} to the log pattern.

          This will show you what thread is associated
          with each transaction and what thread is waiting for
          other tranasactions.

          Regards,
          Adrian

          • 2. Re: infrequent timeouts
            tcabot

            Thanks! I'll give that a try.