Generating ids for database records causes WebSphere to report error

XMLWordPrintable

    • 3.03

      When generating ids for new database records OfBiz Entity Engine (database communication layer that JIRA uses) issues a SELECT SQL statement on a db connection after a transaction has been committed.

      After issuing the SELECT statement, OfBiz returns the connection back to the database connection pool, but without committing a transaction (i.e. without calling comit() on the connection). This is OK as there is no transaction in progress. WebSphere complains about this with the following exception:

      [11/2/05 22:32:57:330 CST] 5a310270 LocalTranCoor E WLTC0032E: One or more resources rolled back. An unresolved LocalTransactionContainment had an unresolved action of rollback.
                                                                                                                                                                
      [11/2/05 22:32:57:330 CST] 5a310270 WebAppTransac E WTRN0043I: LocalTransaction rolled-back due to setRollbackOnly.
                                                                                                                                                                
      [11/2/05 22:32:57:363 CST] 5a310270 WebGroup      E SRVE0026E: [Servlet Error]-[LocalTransaction rolled-back due to setRollbackOnly]: com.ibm.ws.LocalTransaction.RolledbackException
              at com.ibm.ws.LocalTransaction.LocalTranCoordImpl.cleanup(LocalTranCoordImpl.java(Compiled Code))
              at com.ibm.ws.webcontainer.webapp.WebAppTransactionCollaborator.postInvoke(WebAppTransactionCollaborator.java(Compiled Code))
              at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java(Compiled Code))
              at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java(Compiled Code))
              at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java(Compiled Code))
              at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java(Compiled Code))
              at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java(Compiled Code))
              at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java(Compiled Code))
              at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java(Compiled Code))
              at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java(Compiled Code))
              at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java(Compiled Code))
              at com.ibm.ws.http.HttpConnection.run(HttpConnection.java(Compiled Code))
              at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)
      

      Fixed by doing a SELECT in its own transaction and keeping WebSphere very happy.

            Assignee:
            AntonA
            Reporter:
            AntonA
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: