Details
-
Bug
-
Resolution: Fixed
-
Medium
-
3.3.3
-
WebSphere
-
3.03
-
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.