And, what is your connection pool size? Looks like your running out of usable connections. /sumedha
On 12/31/11, Senaka Fernando <sen...@wso2.com> wrote: > Hi Güçlü, > > There can be few possible reasons. > > 1. If you are using mounts on registry.xml, and if two mounts (or remote > instances) are pointing to the same DB, this can happen. > > 2. If you wrote your own transaction layer, may be you have not properly > extended the default implementation. > > 3. If you wrote your own transaction layer or if you made use of > transactions in some code, and did not properly aggregate commits, you can > still run into this situation. FYI, if you look @ the code, we don't commit > then and there in the case of a transaction, but accumulate statement > executions and commit at the end. By doing this, we achieve atomicity > across multiple DB operations, without having to write any app or db level > code. I suspect that this is the most likely cause. > > Thanks, > Senaka. > > 2011/12/27 Güçlü Akkaya <guclu.akk...@ardictech.com> > >> ** >> >> >> Hi all, >> >> This time i will disturb you with another problem related to a low level >> code. Currently i am trying to replicate the functionality of registry >> with >> JDBC Data access. For that i copied some of the interfaces and made >> another >> component named storage ,which will be used in the wso2 greg. Currently i >> am testing my implementation with tsung ,a load test tool supporting many >> protocols. By creating virtiual users with tsung i inspect the >> performance >> of the storage component. In some cases i encounter the following >> exception >> for some requests. >> >> TID: [0] [WSO2 Governance Registry] [2011-12-27 10:55:34,983] ERROR >> {org.wso2.carbon.registry.core.dataaccess.TransactionManager} - Failed to >> commit transaction. >> {org.wso2.carbon.registry.core.dataaccess.TransactionManager} >> java.sql.SQLException: Total number of available connections are less than >> the total number of committed connections >> at >> org.wso2.carbon.registry.core.jdbc.dataaccess.JDBCDatabaseTransaction$ManagedRegistryConnection.commit(JDBCDatabaseTransaction.java:1200) >> at >> com.ardic.arcsp.carbon.registry.resource.core.jdbc.dataaccess.JDBCTransactionManager.commitTransaction(JDBCTransactionManager.java:170) >> at >> com.ardic.arcsp.carbon.registry.resource.core.StorageRegistry.commitTransaction(StorageRegistry.java:352) >> at >> com.ardic.arcsp.carbon.registry.resource.core.StorageRegistry.get(StorageRegistry.java:162) >> at >> com.ardic.arcsp.carbon.registry.ws.api.WSRegistry.getContentById(WSRegistry.java:1037) >> 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:597) >> at >> org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212) >> at >> org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:117) >> at >> org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) >> at >> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110) >> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181) >> at >> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172) >> at >> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146) >> at >> org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonServlet.java:206) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) >> at >> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90) >> at >> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111) >> at >> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:67) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) >> at >> org.wso2.carbon.bridge.BridgeServlet.service(BridgeServlet.java:155) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) >> at >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) >> at >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) >> at >> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) >> at >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) >> at >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) >> at >> org.wso2.carbon.server.TomcatServer$1.invoke(TomcatServer.java:241) >> at >> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563) >> at >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) >> at >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399) >> at >> org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:396) >> at >> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:356) >> at >> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1534) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >> at java.lang.Thread.run(Thread.java:662) >> >> >> >> com.ardic.arcsp.carbon.registry.resource.core.jdbc.dataaccess.JDBCTransactionManager >> class is just the copy of the >> org.wso2.carbon.registry.core.jdbc.dataaccess.JDBCTransactionManager. >> Since >> i did not want to original code with log i replicated the class and bind >> my >> dataacess layer. After i google i ecounter similar exception related to >> misconfiguration for sharing registry, but i am not sharing registry. So >> this a JDBC related matter. Can you tell me why this exception is thrown >> and recommend me some kind of workaround solution for this. >> >> Thanks in advance for the answers >> >> Fatih Güçlü Akkaya >> >> Software Development Engineer >> >> >> >> >> >> >> ARDIC ARGE BILGI VE TEKNOLOJI ÇÖZÜMLERI >> >> APPLIED RESEARCH DEVELOPMENT INNOVATION CENTER >> >> Tel: + 90 262 642 42 52 >> >> GSM: + 90 554 542 48 50 >> >> >> _______________________________________________ >> Carbon-dev mailing list >> Carbon-dev@wso2.org >> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev >> >> > > > -- > *Senaka Fernando* > Product Manager - WSO2 Governance Registry; > Associate Technical Lead; WSO2 Inc.; http://wso2.com* > Member; Apache Software Foundation; http://apache.org > > E-mail: senaka AT wso2.com > **P: +1 408 754 7388; ext: 51736*; *M: +94 77 322 1818 > Linked-In: http://linkedin.com/in/senakafernando > > *Lean . Enterprise . Middleware > -- Sent from my mobile device /sumedha +94 773017743 _______________________________________________ Carbon-dev mailing list Carbon-dev@wso2.org http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev