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
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