[ 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