[ http://wso2.org/jira/browse/WSAS-695?page=all ]

sumedha rubasinghe resolved WSAS-695.
-------------------------------------

    Fix Version/s: 2.2
       Resolution: Fixed

Fixed in revision 12496. (2.2 branch)

> Data services: SQL exception: Connection is closed error occurs when sending 
> ~200 requests to a data service which has a query configured with stored proc
> ----------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: WSAS-695
>                 URL: http://wso2.org/jira/browse/WSAS-695
>             Project: WSO2 WSAS
>          Issue Type: Bug
>          Components: data-services
>         Environment: winxp ,jdk15, MySQL5, WSAS2.2-qabuild6
>            Reporter: Charitha Kankanamge
>         Assigned To: sumedha rubasinghe
>            Priority: Critical
>             Fix For: 2.2
>
>         Attachments: blogds.dbs
>
>
> I'm getting a connection closed - SQL exception when sending multiple 
> requests to a data service in the default system configuration (MySQL+WinXP 
> default configuration).
> The following simple data service request has been sent using Apachebench.
> ab -p D:\testing-resources\ds-request-sp.xml -n 200 -k -H "SOAPAction: 
> urn:operation1" -T "text/xml; charset=UTF-8" 
> "http://192.168.1.2:9762/services/blogds";
> Request:
> ------------
> <?xml version='1.0' encoding='UTF-8'?>
>    <soapenv:Envelope 
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
>       <s:Body>
>          <p:operation1 xmlns:p="http://ws.wso2.org/dataservice";>
>             <empid>1</empid>
>          </p:operation1>
>       </s:Body>
>    </soapenv:Envelope>
> Following exception can be seen in WSAS console when ~200 messages are 
> transmitted to the server.
> ERROR [2008-01-15 21:19:55,406]  Connection is closed.
> ERROR [2008-01-15 21:19:55,406]  Error occured
> org.apache.axis2.AxisFault: Exception occurred while trying to commit.
>         at 
> org.wso2.ws.dataservice.DBUtils.getStoredProcedureResult(DBUtils.java:433)
>         at org.wso2.ws.dataservice.DBUtils.getRDBMSResult(DBUtils.java:175)
>         at org.wso2.ws.dataservice.DBUtils.processSQLQuery(DBUtils.java:108)
>         at org.wso2.ws.dataservice.DBUtils.invoke(DBUtils.java:658)
>         at 
> org.wso2.ws.dataservice.DBMessageReceiver.invokeBusinessLogic(DBMessageReceiver.java:41)
>         at 
> org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.invokeBusinessLogic(AbstractInOutSyncMessageReceiver.java:42)
>         at 
> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
>         at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:148)
>         at 
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
>         at 
> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:121)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at 
> org.wso2.adminui.AdminUIServletFilter.doFilter(AdminUIServletFilter.java:142)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>         at 
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
>         at 
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at 
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:595)
> Caused by: java.sql.SQLException: Connection is closed.
>         at 
> org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.checkOpen(PoolngDataSource.java:175)
>         at 
> org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.commit(PoolingDataSource.java:199)
>         at 
> org.wso2.ws.dataservice.DBUtils.getStoredProcedureResult(DBUtils.java:428)
>         ... 28 more
> ERROR [2008-01-15 21:19:55,421]  Error occured while connecting to database
> com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Data source 
> rejected establishment of connection,  message from server: "Too many 
> connections"
>         at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:981)
>         at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
>         at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1079)
>         at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2032)
>         at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:729)
>         at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:298)
>         at 
> com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:283)
>         at java.sql.DriverManager.getConnection(DriverManager.java:525)
>         at java.sql.DriverManager.getConnection(DriverManager.java:171)
>         at 
> org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConn
> ectionFactory.java:65)
>         at 
> org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.ja
> va:294)
>         at 
> org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:840)
>         at 
> org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:96)
>         at org.wso2.ws.dataservice.DBUtils.createConnection(DBUtils.java:1137)
>         at 
> org.wso2.ws.dataservice.DBUtils.checkDBConnectionStatus(DBUtils.java:241)
>         at 
> org.wso2.ws.dataservice.DBUtils.getStoredProcedureResult(DBUtils.java:268)
>         at org.wso2.ws.dataservice.DBUtils.getRDBMSResult(DBUtils.java:175)
>         at org.wso2.ws.dataservice.DBUtils.processSQLQuery(DBUtils.java:108)
>         at org.wso2.ws.dataservice.DBUtils.invoke(DBUtils.java:658)
>         at 
> org.wso2.ws.dataservice.DBMessageReceiver.invokeBusinessLogic(DBMessageReceiver.java:41)
>         at 
> org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.invokeBusinessLogic(AbstractI
> nOutSyncMessageReceiver.java:42)
>         at 
> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:9
> 6)
>         at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:148)
>         at 
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUt
> ils.java:275)
>         at 
> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:121)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j
> ava:252)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at 
> org.wso2.adminui.AdminUIServletFilter.doFilter(AdminUIServletFilter.java:142)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j
> ava:202)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>         at 
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Htt
> p11BaseProtocol.java:667)
>         at 
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at 
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.ja
> va:80)
>         at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:595)
> Data service configuration is attached here with.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://wso2.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

_______________________________________________
Wsas-java-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/wsas-java-dev

Reply via email to