Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

CORBA TRANSACTION_ROLLEDBACK

 
G Mike
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
We have an application with Servlets->SessionBean->Entity Bean running under WAS v3.5.4 with IBM Httpserver as web server. We had set Transaction attribute as TX_REQUIRED and ISOLATION LEVER as Transaction_Read_Commited. The application performs well when single user is accessing, when more than one user start accessing the application, the we are getting the following error randomly to some users, its not happening at any specific point, its happening at different stages of program, on a STRESS testing with around 10 users we are getting this exception for 3 to 4 times in about of 30 mts of testing, which results in BLANK SCREEN. Its happening mostly at findByKey method of entity bean, which is a custom finder, does the same job as findByPrimary key. The exception trace is given below, can anyone give a solution.
Thanks In ADVANCE
Mike

FramePageBean:frameFormPage javax.transaction.TransactionRolledbackException: CORBA TRANSACTION_ROLLEDBACK 0 No; nested exception is:
org.omg.CORBA.TRANSACTION_ROLLEDBACK: com.ibm.websphere.csi.CSITransactionRolledbackException
at java.lang.Throwable.fillInStackTrace(Native Method)
at java.lang.Throwable.fillInStackTrace(Compiled Code)
at java.lang.Throwable.<init>(Compiled Code)
at java.lang.Exception.<init>(Compiled Code)
at java.io.IOException.<init>(IOException.java:35)
at java.rmi.RemoteException.<init>(RemoteException.java:46)
at com.ibm.websphere.csi.CSIException.<init>(CSIException.java:18)
at com.ibm.websphere.csi.CSITransactionRolledbackException.<init>(CSITransactionRolledbackException.java:19)
at com.ibm.ejs.csi.TranStrategy.handleException(Compiled Code)
at com.ibm.ejs.csi.TransactionControlImpl.postInvoke(Compiled Code)
at com.ibm.ejs.container.EJSContainer.postInvoke(Compiled Code)
at com.test.entity.EJSRemoteFieldHome.findByKey(Compiled Code)
at com.test.entity._FieldHome_BaseStub.findByKey(Compiled Code)
at com.test.entity._FieldHome_Stub.findByKey(Compiled Code)
at com.test.session.FramePageBean.frameFormPage(Compiled Code)
at com.test.session.FramePageBean.framePage(Compiled Code)
at com.test.session.EJSRemoteFramePage.framePage(Compiled Code)
at com.test.session._FramePage_BaseStub.framePage(Compiled Code)
at com.test.session._FramePage_Stub.framePage(Compiled Code)
at com.test.servlet.BusinessServlet.getNextFormPage(Compiled Code)
at com.test.servlet.BusinessServlet.performTask(Compiled Code)
at com.test.servlet.BusinessServlet.doPost(Compiled Code)
at javax.servlet.http.HttpServlet.service(Compiled Code)
at javax.servlet.http.HttpServlet.service(Compiled Code)
at com.ibm.servlet.engine.webapp.StrictServletInstance.doService(Compiled Code)
at com.ibm.servlet.engine.webapp.StrictLifecycleServlet._service(Compiled Code)
at com.ibm.servlet.engine.webapp.ServicingServletState.service(Compiled Code)
at com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(Compiled Code)
at com.ibm.servlet.engine.webapp.ServletInstance.service(Compiled Code)
at com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(Compiled Code)
at com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(Compiled Code)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(Compiled Code)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(Compiled Code)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(Compiled Code)
at com.test.servlet.ControllerServlet.performTask(Compiled Code)
at com.test.servlet.ControllerServlet.doPost(Compiled Code)
at javax.servlet.http.HttpServlet.service(Compiled Code)
at javax.servlet.http.HttpServlet.service(Compiled Code)
at com.ibm.servlet.engine.webapp.StrictServletInstance.doService(Compiled Code)
at com.ibm.servlet.engine.webapp.StrictLifecycleServlet._service(Compiled Code)
at com.ibm.servlet.engine.webapp.ServicingServletState.service(Compiled Code)
at com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(Compiled Code)
at com.ibm.servlet.engine.webapp.ServletInstance.service(Compiled Code)
at com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(Compiled Code)
at com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(Compiled Code)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(Compiled Code)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(Compiled Code)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(Compiled Code)
at com.ibm.servlet.engine.srt.WebAppInvoker.handleInvocationHook(Compiled Code)
at com.ibm.servlet.engine.invocation.CachedInvocation.handleInvocation(Compiled Code)
at com.ibm.servlet.engine.invocation.CacheableInvocationContext.invoke(Compiled Code)
at com.ibm.servlet.engine.srp.ServletRequestProcessor.dispatchByURI(Compiled Code)
at com.ibm.servlet.engine.oselistener.OSEListenerDispatcher.service(Compiled Code)
at com.ibm.servlet.engine.oselistener.SQEventListenerImp$ServiceRunnable.run(Compiled Code)
at com.ibm.servlet.engine.oselistener.SQEventListenerImp.notifySQEvent(Compiled Code)
at com.ibm.servlet.engine.oselistener.serverqueue.SQEventSource.notifyEvent(Compiled Code)
at com.ibm.servlet.engine.oselistener.serverqueue.SQWrapperEventSource$SelectRunnable.notifyService(Compiled Code)
at com.ibm.servlet.engine.oselistener.serverqueue.SQWrapperEventSource$SelectRunnable.run(Compiled Code)
at com.ibm.servlet.engine.oselistener.outofproc.OutOfProcThread$CtlRunnable.run(Compiled Code)
at java.lang.Thread.run(Compiled Code)
minor code: 0 completed: No
 
Ketan Khimani
Ranch Hand
Posts: 32
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
If your Session Beans and Entity Beans are in same EJB Container then set the Transaction attribute of Session Bean as TX_REQUIRED_NEW and of Entity Bean as TX_REQUIRED.And that will work.
 
Kyle Brown
author
Ranch Hand
Posts: 3892
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
My guess is that this is a database locking issue. What is happening is that this finder method is possibly getting starved while waiting on a lock to be released, and times out in the meantime.
Sit down and read Vess Ivanov's article on database locking in WebSphere. Then go look at your test scripts and see if there isn't some situation where either deadlock or starvation could occur...
Kyle
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic