-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Vinoth,
On 2/10/15 10:03 PM, Vinoth Raja wrote: > Thanks for the quick response. > > Please find the stack trace. This happens when there is more > requests. I could reproduce it by loading more concurrent request > All datasources called with same username/password. 4 datasources > are called at a time by 4 different application. This is a little confusing: > INFO: Stopping ProtocolHandler ["ajp-bio-8009"] > ionFilterChain.java:208) at > org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748) I > think something has been cut-off, here. > at > org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486) > > at > org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411) > > at > org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338) > > at com.avaya.sce.runtime.SCEServlet.forward(SCEServlet.java:1356) > at > com.avaya.sce.runtime.BasicServlet.handleRequest(BasicServlet.java:116) > > at com.avaya.sce.runtime.AppServlet.processRequest(AppServlet.java:96) > at > com.avaya.sce.runtime.SCEServlet.requestHandler(SCEServlet.java:285) > > at com.avaya.sce.runtime.SCEServlet.doGet(SCEServlet.java:182) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:620) at > javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > at > org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748) > > at > org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486) > > at > org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411) > > at > org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338) > > at com.avaya.sce.runtime.SCEServlet.forward(SCEServlet.java:1356) > at com.avaya.sce.runtime.Data.handleRequest(Data.java:153) at > com.avaya.sce.runtime.AppServlet.processRequest(AppServlet.java:96) > > at com.avaya.sce.runtime.SCEServlet.requestHandler(SCEServlet.java:285) > at com.avaya.sce.runtime.SCEServlet.doGet(SCEServlet.java:182) at > javax.servlet.http.HttpServlet.service(HttpServlet.java:620) at > javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) > > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) > > at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421) > > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070) > > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611) > > at > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) > > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown > Source) at > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) > > at java.lang.Thread.run(Unknown Source) > java.sql.SQLException: Given password did not match password used > to create the PooledConnection. at > org.apache.tomcat.dbcp.dbcp.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:723) > > at > com.avaya.aps.sca.selfservice.dm.ConnectionManager.getDataSource(ConnectionManager.java:101) > > at > com.avaya.aps.sca.selfservice.InteractionFlowServiceDaoImpl.getTransitionMapDetail(InteractionFlowServiceDaoImpl.java:241) What > code is being called, here in DBCP? You are calling the getConnection method that accepts a username and password. Are you sure you are not changing the password? The code in that area looks like this: if (!(null == password ? null == info.getPassword() 717 : password.equals(info.getPassword()))) { // Password on PooledConnectionAndInfo does not match 718 try { // See if password has changed by attempting connection 719 testCPDS(username, password); 720 } catch (SQLException ex) { 721 // Password has not changed, so refuse client, but return connection to the pool 722 closeDueToException(info); 723 throw new SQLException("Given password did not match password used" 724 + " to create the PooledConnection."); 725 } catch (javax.naming.NamingException ne) { 726 throw (SQLException) new SQLException( 727 "NamingException encountered connecting to database").initCause(ne); 728 } 729 It's possible that a SQLException is occurring that does not represent a password problem, but it's being interpreted as such. I checked, and DBCP 2.0 does the same thing: it swallows the SQLException so you'll never know what really happened. It's possible that, in testCPDS, you are running across this: 819 if (ds instanceof ConnectionPoolDataSource) { 820 cpds = (ConnectionPoolDataSource) ds; 821 } else { 822 throw new SQLException("Illegal configuration: " 823 + "DataSource " + dataSourceName 824 + " (" + ds.getClass().getName() + ")" 825 + " doesn't implement javax.sql.ConnectionPoolDataSource"); 826 } Can you put a breakpoint in testCBDS and see what happens to these connections? - -chris -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org iQIcBAEBCAAGBQJU237WAAoJEBzwKT+lPKRYkLwP/AkNISPIG6FDjkzZN2Pp7R/y zcbyOQLVjiVXvK/hsGdv6Brf/KPTMBaljE7NQ7y/l26BSz5FM2jPkh7iqa91TMB7 SjZ0vWXDqDGp1VpNz8EAP63hajsbVzHS4RuFCGHQFDpAFUfPqx/eRkEQm+fMMHj0 8wmEicD4XvrCNvNITSkUW02bkG4Ii14ggJWz4Fix7e6aVq2FivEsDXUao5ma27IX QuYxseBFKHqQ8hrTbB74wvB4IIFpveEZmS2vNIL4rKVbXclbmseuwtj8nTyEqNSa 1rzcYwhg1jndUbCcZS7POQq+vGcs6mJNplyleR7aSotR1G7ApZ3hMCN68TIuWYzq Vg7/5xUg1oMaGxuxiXPUMwKLT7KfA1ATTIhk8rSPATMEEGc8l8a+azHtLuf9ebqv fXTU0bdYWL+D0tkDi7Pg9hA47Jm2wK3j0yMgsyv31wIRLLYkHwVwoo/ZiYcWOH/y 3H6fXuGB1obX75KR/dAdUL2BrVb7yxBBrILf3sjRIk2gtNk2KikE06gtCU178oct 5Q7XMmhbxmiRYlo+M1h8gWKcGwE40dH9jrqD3I8mvCipIXSZTbI3Tn1m0xOdn8RT DhDpEFc7L1BoCjjnElC5W9ukFFtpsRgDVN12AsCAoPldbbYH4IDvuQPPGgdL1GnQ gphexbRn5miaGnJbpMa1 =AyHt -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org