Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-8417

Generating ids for database records causes WebSphere to report error

    XMLWordPrintable

Details

    Description

      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.

      Attachments

        Activity

          People

            anton@atlassian.com AntonA
            anton@atlassian.com AntonA
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: