webMethods

webMethods

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
Expand all | Collapse all

transaction has taken too long

  • 1.  transaction has taken too long

    Posted Mon August 18, 2003 10:40 AM

    Hallo,

    I have got the following exception which comes up only sometimes.

    Nested Exception (com.softwareag.tamino.db.API.common.TAccessFailureException, tag: $Name: JavaTaminoAPI_2_1_0_39 $) stacktrace:

    Tamino access failure (INOXYE9291, Transaction aborted because it has taken too long)
    at com.softwareag.tamino.db.API.accessor.TAccessFailureVerifier.newAccessFailureException(Unknown Source)
    at com.softwareag.tamino.db.API.accessor.TAccessFailureVerifier.verify(Unknown Source)
    at com.softwareag.tamino.db.API.accessor.TAccessFailureVerifier.verifyQueryResponse(Unknown Source)
    at com.softwareag.tamino.db.API.accessor.TXMLObjectAccessorImpl.query(Unknown Source)
    at com.softwareag.tmb.server.tmdb.BaseTaminoAccess.read(BaseTaminoAccess.java:245)


    I have not found out the rule to reproduce it yet. There is no concurrent access.
    Has anybody an idea what could be the problem?

    Thanks in advance
    Pascal Sch


    #webMethods-Tamino-XML-Server-APIs
    #webMethods
    #API-Management


  • 2.  RE: transaction has taken too long

    Posted Mon August 18, 2003 11:45 AM

    INOXYE9291 is documented in the online documentation. The documentation mentions an explicit transaction timeout (Properties->Server->maximum transaction duration) and also the number of XML work threads (Properties->XML->XML work threads). For long running queries there is a server setting “XML maximum query duration”.


    #webMethods
    #webMethods-Tamino-XML-Server-APIs
    #API-Management


  • 3.  RE: transaction has taken too long

    Posted Mon August 18, 2003 12:13 PM

    The problem is that the query is very simple and the amount of data is very small. That’s why a timeout should not appear in this case.
    By the way, I forgot to say that I have got this problem only in combination with transaction.

    Here is a code snippet:
    TConnection inoConnection;
    // get connection

    tran = inoConnection.useLocalTransactionMode();

    // do the query
    TXMLObjectAccessor accessor = tcon.newXMLObjectAccessor(
    TAccessLocation.newInstance(“collection”), TDOMObjectModel.getInstance());
    TResponse res = accessor.query(TQuery.newInstance(query));

    → exception


    #API-Management
    #webMethods
    #webMethods-Tamino-XML-Server-APIs


  • 4.  RE: transaction has taken too long

    Posted Mon August 18, 2003 02:01 PM

    I would be very much surprised if you got this exception outside of a transaction! :slight_smile:

    What are the values of the following for the database concerned (under Properties)? Does the exception happen quickly or slowly? I.e. is it immediate or after some time?

    Server.maximum transaction duration
    Server.non-activity timeout

    XML.XML work threads
    XML.XML maximum sessions
    XML.XML maximum query duration


    #webMethods
    #API-Management
    #webMethods-Tamino-XML-Server-APIs


  • 5.  RE: transaction has taken too long

    Posted Tue August 19, 2003 10:49 AM

    The exception happens very quickly, at most a second.

    The properties are all default for few users:

    XML work threads : 10
    XML maximum sessions: 100
    XML maximum query duration 300 seconds (dynamic)
    Server maximum transaction duration: 300 seconds
    Server non-activity timeout: 900 seconds


    #API-Management
    #webMethods
    #webMethods-Tamino-XML-Server-APIs


  • 6.  RE: transaction has taken too long

    Posted Tue August 19, 2003 02:02 PM

    Hi Pascal,

    please provide the complete XML representation of the exception. You can get it from a TException object by calling getXMLMessage().

    Greetings,
    Oliver Kleber


    #webMethods
    #API-Management
    #webMethods-Tamino-XML-Server-APIs


  • 7.  RE: transaction has taken too long

    Posted Tue August 19, 2003 05:54 PM

    Here you are the complete XML representation of the exception:

    <?xml version="1.0"?>
    com.softwareag.tamino.db.API.accessor.TAccessFailureVerifier.verifyQueryResponse(Unknown Source)com.softwareag.tamino.db.API.accessor.TXMLObjectAccessorImpl.query(Unknown Source)com.softwareag.tmb.server.tmdb.BaseTaminoAccess.read(BaseTaminoAccess.java:245)com.softwareag.tmb.server.tmdb.BaseTaminoAccess.query(BaseTaminoAccess.java:776)com.softwareag.tmb.server.tmdb.BaseTaminoAccess.queryDoc(BaseTaminoAccess.java:796)com.softwareag.tmb.server.sync.SyncAccessINOImpl.getSyncData(SyncAccessINOImpl.java:120)com.softwareag.tmb.server.sync.SyncHandlerImpl.getData(SyncHandlerImpl.java:451)com.softwareag.tmb.server.sync.SyncServer.handleDownload(SyncServer.java:539)com.softwareag.tmb.server.sync.SyncServer.clientToServer(SyncServer.java:219)com.softwareag.tmb.server.sync.SyncServer.clientToServerHandler(SyncServer.java:122)upload1050344315501.dataIn_State1_action0.exec(dataIn_State1_action0.java:17)com.covigo.flow.action.ProxyAction.exec(ProxyAction.java:43)com.covigo.flow.action.ListAction.exec(ListAction.java:49)com.covigo.flow.controller.DefaultController.exec(DefaultController.java:48)com.covigo.flow.Manager.exec(Manager.java:80)com.covigo.sync.FlowManagerImpl.processObjects(FlowManagerImpl.java:116)com.covigo.sync.SyncManager.processObjects(SyncManager.java:364)com.covigo.sync.SyncManager.exec(SyncManager.java:207)sync.doPost(sync.java:137)javax.servlet.http.HttpServlet.service(HttpServlet.java:142)javax.servlet.http.HttpServlet.service(HttpServlet.java:103)com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:82)com.caucho.server.http.Invocation.service(Invocation.java:273)com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:128)com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:216)com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:158)com.caucho.server.TcpConnection.run(TcpConnection.java:140)java.lang.Thread.run(Thread.java:479)Tamino access failure (INOXYE9291, Transaction aborted because it has taken too long)9291INOXYE9291Transaction aborted because it has taken too longcom.softwareag.tamino.db.API.accessor.TAccessFailureVerifier.newAccessFailureException(Unknown Source)com.softwareag.tamino.db.API.accessor.TAccessFailureVerifier.verify(Unknown Source)com.softwareag.tamino.db.API.accessor.TAccessFailureVerifier.verifyQueryResponse(Unknown Source)com.softwareag.tamino.db.API.accessor.TXMLObjectAccessorImpl.query(Unknown Source)com.softwareag.tmb.server.tmdb.BaseTaminoAccess.read(BaseTaminoAccess.java:245)com.softwareag.tmb.server.tmdb.BaseTaminoAccess.query(BaseTaminoAccess.java:776)com.softwareag.tmb.server.tmdb.BaseTaminoAccess.queryDoc(BaseTaminoAccess.java:796)com.softwareag.tmb.server.sync.SyncAccessINOImpl.getSyncData(SyncAccessINOImpl.java:120)com.softwareag.tmb.server.sync.SyncHandlerImpl.getData(SyncHandlerImpl.java:451)com.softwareag.tmb.server.sync.SyncServer.handleDownload(SyncServer.java:539)com.softwareag.tmb.server.sync.SyncServer.clientToServer(SyncServer.java:219)com.softwareag.tmb.server.sync.SyncServer.clientToServerHandler(SyncServer.java:122)upload1050344315501.dataIn_State1_action0.exec(dataIn_State1_action0.java:17)com.covigo.flow.action.ProxyAction.exec(ProxyAction.java:43)com.covigo.flow.action.ListAction.exec(ListAction.java:49)com.covigo.flow.controller.DefaultController.exec(DefaultController.java:48)com.covigo.flow.Manager.exec(Manager.java:80)com.covigo.sync.FlowManagerImpl.processObjects(FlowManagerImpl.java:116)com.covigo.sync.SyncManager.processObjects(SyncManager.java:364)com.covigo.sync.SyncManager.exec(SyncManager.java:207)sync.doPost(sync.java:137)javax.servlet.http.HttpServlet.service(HttpServlet.java:142)javax.servlet.http.HttpServlet.service(HttpServlet.java:103)com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:82)com.caucho.server.http.Invocation.service(Invocation.java:273)com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:128)com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:216)com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:158)com.caucho.server.TcpConnection.run(TcpConnection.java:140)java.lang.Thread.run(Thread.java:479)


    Regards
    Pascal Sch


    #webMethods
    #API-Management
    #webMethods-Tamino-XML-Server-APIs


  • 8.  RE: transaction has taken too long

    Posted Wed August 20, 2003 12:19 PM

    Hi Pascal,

    this does not look like a simple kind of wrong usage of the Java API to me.
    The transaction timeout error message comes from the Tamino server. But you said, that your query is simple and the amount of data is small. So there has to be another reason.
    Possible causes may be:

    - Another older transaction could not be finished and for any reason you get this error during your query execution. Did you use this connection before for any access?
    - Your application runs in a servlet. Are there other servlets running in parallel?
    - A real problem in the Tamino server.
    - …

    Did you any special settings for the transaction session parameters in the TConnection?

    Regards,
    Oliver Kleber


    #API-Management
    #webMethods
    #webMethods-Tamino-XML-Server-APIs