Skip to Main Content

Integration

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Update operation transaction timing out

661228Feb 25 2010 — edited Mar 31 2010
Hello,

I have a large data structure that needs to be updated atomically (i.e. within a transaction). I am calling the logical service via a web service map, so I presume the transaction starts when the logical service is invoked. It is receiving a transaction timeout on the server, which I suspect is set to 30 seconds at the WebLogic level by our middleware team. (See stack trace below).

The update operation SDO XML is at least 2MB.

1. Is there any way to override this transaction timeout at the service or data space level?
2. Is there any more efficient way to do this update? Sending a big wad of xml is inefficient, and I am not aware of another format supported by ODSI web services. I cannot use mediator API straight from my client to ODSI.
3. If I have to break up my save operation into chunks, is there any way to effectively achieve transactional update via multiple web service calls?

Any advice would be much appreciated.

Thanks,

Jeff


weblogic.xml.query.exceptions.XQuerySystemException: {bea-err}SYS003: Unexpected exception
at weblogic.xml.query.transaction.TransactionHelper.commit(TransactionHelper.java:96)
at weblogic.xml.query.transaction.TransactionManager.teardownOnSuccess(TransactionManager.java:178)
at com.bea.ld.EJBRequestHandler.handleProcessingComplete(EJBRequestHandler.java:1020)
at com.bea.ld.EJBRequestHandler.handlePusher(EJBRequestHandler.java:979)
at com.bea.ld.EJBRequestHandler.invokeOperation(EJBRequestHandler.java:323)
at com.bea.ld.ServerWrapperBean.invoke(ServerWrapperBean.java:153)
at com.bea.ld.ServerWrapperBean.invokeOperation(ServerWrapperBean.java:80)
at com.bea.ld.ServerWrapper_s9smk0_ELOImpl.invokeOperation(ServerWrapper_s9smk0_ELOImpl.java:141)
at com.bea.dsp.ws.RoutingHandler$PriviledgedRunner.run(RoutingHandler.java:96)
at com.bea.dsp.ws.RoutingHandler.handleResponse(RoutingHandler.java:217)
at weblogic.wsee.handler.HandlerIterator.handleResponse(HandlerIterator.java:287)
at weblogic.wsee.handler.HandlerIterator.handleResponse(HandlerIterator.java:271)
at weblogic.wsee.ws.dispatch.server.ServerDispatcher.dispatch(ServerDispatcher.java:176)
at weblogic.wsee.ws.WsSkel.invoke(WsSkel.java:80)
at weblogic.wsee.server.servlet.SoapProcessor.handlePost(SoapProcessor.java:66)
at weblogic.wsee.server.servlet.SoapProcessor.process(SoapProcessor.java:44)
at weblogic.wsee.server.servlet.BaseWSServlet$AuthorizedInvoke.run(BaseWSServlet.java:285)
at weblogic.wsee.server.servlet.BaseWSServlet.service(BaseWSServlet.java:169)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: weblogic.transaction.RollbackException: Transaction timed out after 33 seconds
BEA1-460E808DE23C779E385F
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1818)
at weblogic.transaction.internal.TransactionImpl.checkIfCommitPossible(TransactionImpl.java:1708)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:255)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:230)
at weblogic.xml.query.transaction.TransactionHelper.commit(TransactionHelper.java:94)
... 30 more
Caused by: weblogic.transaction.internal.TimedOutException: Transaction timed out after 33 seconds
BEA1-460E808DE23C779E385F
at weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransactionImpl.java:1734)
at weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTransactions(ServerTransactionManagerImpl.java:1607)
at weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManagerImpl.java:1879)
at weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTransactionManagerImpl.java:1517)
at weblogic.transaction.internal.WLSTimer.timerExpired(WLSTimer.java:35)
at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
... 2 more
This post has been answered by Mike Reiche-Oracle on Mar 30 2010
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Apr 28 2010
Added on Feb 25 2010
8 comments
4,101 views