Re: problem with datanode.xml

From: G.Venu (venumadhav...2bsoftech.com)
Date: Sun Sep 21 2003 - 20:33:58 EDT

  • Next message: Andrus Adamchik: "Re: problem with datanode.xml"

    hi andrus,

    I still have the problem when i changed my datanode.xml.I added autoreconnet=true in my datanode.xml.My datanode.xml looks like this.

    <driver project-version="1.0" class="org.gjt.mm.mysql.Driver">
            <url value="jdbc:mysql://ip:port/databse?autoReconnect=true"/>
            <connectionPool min="1" max="10 />
            <login userName="venumadhav" password="venumadhav"/>
    </driver>

    With the above xml I can only add 10 records.The problem is not with the transactions but when i add records to the database.If i add more than the number of connections specified in datanode.xml i get the following server output error in the browser.I am using Mysql 3.1.4 and Tomcat 4.1.12.

    javax.servlet.ServletException: [v.1.0rc1 July 21 2003] Raising from underlyingQueryEngine exception.
            at org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:545)
            at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:486)
            at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
            at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
            at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
            at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
            at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
            at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405)
            at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:380)
            at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508)
            at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:533)
            at java.lang.Thread.run(Thread.java:534)

    root cause

    org.objectstyle.cayenne.CayenneRuntimeException: [v.1.0rc1 July 21 2003] Raising from underlyingQueryEngine exception.
            at org.objectstyle.cayenne.access.util.ContextCommitObserver.nextGlobalException(ContextCommitObserver.java:188)
            at org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java:349)
            at org.objectstyle.cayenne.access.ContextCommit.commit(ContextCommit.java:188)
            at org.objectstyle.cayenne.access.DataContext.commitChanges(DataContext.java:751)
            at org.objectstyle.cayenne.access.DataContext.commitChanges(DataContext.java:725)
            at com.esm.service.impl.SubcategoryServiceImpl.subcategoryadd(SubcategoryServiceImpl.java:224)
            at com.esm.actionbeans.SubcategoryAction.subcategoryadd(SubcategoryAction.java:151)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:324)
            at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
            at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
            at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
            at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
            at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
            at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
            at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
            at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
            at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405)
            at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:380)
            at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508)
            at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:533)
            at java.lang.Thread.run(Thread.java:534)
    Caused by: java.sql.SQLException: Can't obtain connection. Request timed out.
            at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:395)
            at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:372)
            at org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java:254)
            ... 46 more

    >
    >On Thursday, September 18, 2003, at 07:58 PM, G.Venu wrote:
    >> When i deploy my application in tomcat and start my transactions when
    >> i reach 10 transactions server is giving me a error saying that
    >> "connection timed out".At this point i have to restart my server to
    >> get going and the same thing happens if it reaches 10 connections.I
    >> even changed the number to 100.This only increases the number but it
    >> failing when it reaches 100.what is the maximum no of connctions that
    >> can be given in datanode.xml??.Is there any thing that can be done to
    >> close the connections that are not being used???.Is there any other
    >> alternative to this problem???please help me out...Its a real time
    >> application.
    >
    >There is no reason to believe that "connection timed out" error is due
    >to too many busy database connections (the actual error would be
    >different, and your application would need to be hit real hard to get
    >past 100 pooled connections). This looks more like a problem with your
    >database or an inactivity timeout issue (e.g.
    >http://objectstyle.org/cayenne/faq/deploy.html#reconnect ). Look in
    >this direction first.
    >
    >If the problem still persists, could you provide more information: what
    >database are you using? how did you determine that there are actually
    >10 or 100 transactions being active? are there any unusual patterns in
    >your particular use of Cayenne? Stack trace would be helpful too.
    >
    >Andrus
    >
    >

    --
    With regards,
    

    Venu --



    This archive was generated by hypermail 2.0.0 : Sun Sep 21 2003 - 23:51:54 EDT