1 Reply Latest reply on Jun 24, 2004 3:01 AM by aloubyansky

    Problem with findAll

      We have been trying to execute a readAll using JBoss 3.2.3. All of our configurations have worked beautifully for months, but suddenly we were faced with an Oracle 9i table (working with 9i is still fairly new) with a composite key involving a date (this is also new). When we try to read all, we get:

      10:54:01,976 ERROR [LogInterceptor] TransactionRolledbackException in method: public abstract java.util.Collection com.datasourceinc.jetson.application.testcomplete.ebdo.jetson.JobHistoryFacade.findAll() throws javax.ejb.FinderException,javax.naming.NamingException,java.rmi.RemoteException, causedBy:

      org.jboss.tm.JBossRollbackException: Unable to commit, tx=TransactionImpl:XidImpl [FormatId=257, GlobalId=Meera_Laptop//3, BranchQual=] status=STATUS_NO_TRANSACTION; - nested throwable: (javax.ejb.EJBException: Update failed. Expected one affected row: rowsAffected=0id=[.102.1993-01-13.])
      at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:413)
      at org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCMT.java:398)
      at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:277)
      at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:128)
      at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:118)
      at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
      at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
      at org.jboss.ejb.StatelessSessionContainer.internalInvoke(StatelessSessionContainer.java:331)
      at org.jboss.ejb.Container.invoke(Container.java:700)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      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:546)
      at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:101)
      at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:90)
      at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:46)
      at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:45)
      at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:100)
      at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:85)
      at $Proxy71.findAll(Unknown Source)
      at com.datasourceinc.jetson.application.testcomplete.web.jetson.JobHistoryDelegate.findAll(JobHistoryDelegate.java:59)

      Alexey was kind enough to mention in

      http://www.jboss.org/index.html?module=bb&op=viewtopic&t=50680

      that this error could be caused by "either concurrent update using optimistic locking or the row was removed." However, we are simply executing a read (the very first one running the application), and this database is isolated: no other application or person is using it.

      I would very much appreciate any ideas; if anyone needs more configuration information, just let me know what, as I'm not certain even what might affect such an outcome.

      Thanks!

      David Sills

        • 1. Re: Problem with findAll
          aloubyansky

          This comes from cmp update command. Use <check-dirty-after-get>false</check-dirty-after-get> in jbosscmp-jdbc.xml for the date field. This is fixed in 3.2.4.
          The other problem why it couldn't find the row in the database. Is this a valid id [.102.1993-01-13.]?