yes. the thread is stucked and started increasing load of the server.

My configuration is as below. Query is fetching one row only.


        <Resource name="jdbc" auth="Container" type="javax.sql.DataSource"
        driverClassName="org.postgresql.Driver" url="jdbc:postgresql"
        maxActive="100" maxIdle="20" maxWait="30000"
        validationQuery="select 1" testOnBorrow="true"
        removeAbandoned="true" removeAbandonedTimeout="120"
logAbandoned="true" />






On Sat, Nov 22, 2014 at 1:29 AM, Ameer Mawia <ameer.ma...@gmail.com> wrote:

> Jaiswal, what your exact question is?
>
> Obviously in your application, you need a DB connection and if this is
> thread which is stuck, stack trace tells that tomcat dbcp, is trying to get
> you a connection, but stuck while reading the result of validate query
> which it had run before returning you a valid connection.
>
> Probably you can take a look at validation query, for now? Ideally it
> should be a very simple query, returning just one row and column.
>
> Regards,
> Ameer Mawia
>
> On Sat, Nov 22, 2014 at 12:30 AM, Dhaval Jaiswal <dhaval.jais...@via.com>
> wrote:
>
> > Following thread stuck and increased the load.
> >
> >
> >  java.net.SocketInputStream.read(SocketInputStream.java:129)
> >
> >
> org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:145)
> >
> >
> org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:114)
> >
> >
> org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:73)
> >  org.postgresql.core.PGStream.ReceiveChar(PGStream.java:274)
> >
> >
> org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1660)
> >
> >
> org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
> >
> >
> org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:500)
> >
> >
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:374)
> >
> >
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:254)
> >
> >
> org.apache.tomcat.dbcp.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)
> >
> >
> org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:332)
> >
> >
> org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.validateObject(PoolableConnectionFactory.java:312)
> >
> >
> org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:991)
> >
> >
> org.apache.tomcat.dbcp.dbcp.AbandonedObjectPool.borrowObject(AbandonedObjectPool.java:84)
> >
> >
> org.apache.tomcat.dbcp.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:96)
> >
> >
> org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
> >  com.eos.accounts.util.AccountsDatabaseManager.getConnection(Unknown
> > Source)
> >  com.eos.accounts.util.AccountsDatabaseManager.getConnection(Unknown
> > Source)
> >
> >
> com.eos.accounts.policies.PolicyManager.getAllPoliciesForUser(PolicyManager.java:62)
> >
> >
> com.eos.accounts.policies.Policies.loadAllPoliciesForUser(Policies.java:25)
> >  com.eos.accounts.data.User.createFromDataSet(User.java:3165)
> >  com.eos.accounts.data.User.getUserById(User.java:2878)
> >
> >
> com.eos.b2c.beans.GenericProductBean.setDeliveryDetails(GenericProductBean.java:320)
> >  com.eos.b2c.ui.ResellerNavigation.doGet(ResellerNavigation.java:2362)
> >  com.eos.b2c.ui.ResellerNavigation.doPost(ResellerNavigation.java:579)
> >  javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
> >  javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> >
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> >
> >
> >
> > thread dump
> >
> >
> > "http-8080-2" daemon prio=10 tid=0x000000005335e000 nid=0x6d82 runnable
> > [0x00002b8b9a5c9000..0x00002b8b9a5caa90]
> >    java.lang.Thread.State: RUNNABLE
> >         at java.net.SocketInputStream.socketRead0(Native Method)
> >         at java.net.SocketInputStream.read(SocketInputStream.java:129)
> >         at
> >
> >
> org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:145)
> >         at
> >
> >
> org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:114)
> >         at
> >
> >
> org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:73)
> >         at org.postgresql.core.PGStream.ReceiveChar(PGStream.java:274)
> >         at
> >
> >
> org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1660)
> >         at
> >
> >
> org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
> >         - locked <0x00002b881d689760> (a
> > org.postgresql.core.v3.QueryExecutorImpl)
> >         at
> >
> >
> org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:500)
> >         at
> >
> >
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:374)
> >         at
> >
> >
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:254)
> >         at
> >
> >
> org.apache.tomcat.dbcp.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)
> >         at
> >
> >
> org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:332)
> >         at
> >
> >
> org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.validateObject(PoolableConnectionFactory.java:312)
> >         at
> >
> >
> org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:991)
> >         at
> >
> >
> org.apache.tomcat.dbcp.dbcp.AbandonedObjectPool.borrowObject(AbandonedObjectPool.java:84)
> >         at
> >
> >
> org.apache.tomcat.dbcp.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:96)
> >         at
> >
> >
> org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
> >         at
> > com.eos.accounts.util.AccountsDatabaseManager.getConnection(Unknown
> Source)
> >         at
> > com.eos.accounts.util.AccountsDatabaseManager.getConnection(Unknown
> Source)
> >         at
> >
> >
> com.eos.gds.util.GenericSearchQuery.executeQuery(GenericSearchQuery.java:191)
> >
> >
> >
> > On Sat, Nov 22, 2014 at 12:26 AM, Dhaval Jaiswal <dhaval.jais...@via.com
> >
> > wrote:
> >
> > > Below thread stucked and increased the load.
> > >
> > >
> > >  java.net.SocketInputStream.read(SocketInputStream.java:129)
> > >
> > >
> >
> org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:145)
> > >
> > >
> >
> org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:114)
> > >
> > >
> >
> org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:73)
> > >  org.postgresql.core.PGStream.ReceiveChar(PGStream.java:274)
> > >
> > >
> >
> org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1660)
> > >
> > >
> >
> org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
> > >
> > >
> >
> org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:500)
> > >
> > >
> >
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:374)
> > >
> > >
> >
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:254)
> > >
> > >
> >
> org.apache.tomcat.dbcp.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)
> > >
> > >
> >
> org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:332)
> > >
> > >
> >
> org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.validateObject(PoolableConnectionFactory.java:312)
> > >
> > >
> >
> org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:991)
> > >
> > >
> >
> org.apache.tomcat.dbcp.dbcp.AbandonedObjectPool.borrowObject(AbandonedObjectPool.java:84)
> > >
> > >
> >
> org.apache.tomcat.dbcp.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:96)
> > >
> > >
> >
> org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
> > >  com.eos.accounts.util.AccountsDatabaseManager.getConnection(Unknown
> > > Source)
> > >  com.eos.accounts.util.AccountsDatabaseManager.getConnection(Unknown
> > > Source)
> > >
> > >
> >
> com.eos.accounts.policies.PolicyManager.getAllPoliciesForUser(PolicyManager.java:62)
> > >
> > >
> >
> com.eos.accounts.policies.Policies.loadAllPoliciesForUser(Policies.java:25)
> > >  com.eos.accounts.data.User.createFromDataSet(User.java:3165)
> > >  com.eos.accounts.data.User.getUserById(User.java:2878)
> > >
> > >
> >
> com.eos.b2c.beans.GenericProductBean.setDeliveryDetails(GenericProductBean.java:320)
> > >  com.eos.b2c.ui.ResellerNavigation.doGet(ResellerNavigation.java:2362)
> > >  com.eos.b2c.ui.ResellerNavigation.doPost(ResellerNavigation.java:579)
> > >  javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
> > >  javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> > >
> > >
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> > >
> > >
> > >
> > > thread dump output
> > >
> > >
> > > "http-8080-2" daemon prio=10 tid=0x000000005335e000 nid=0x6d82 runnable
> > > [0x00002b8b9a5c9000..0x00002b8b9a5caa90]
> > >    java.lang.Thread.State: RUNNABLE
> > >         at java.net.SocketInputStream.socketRead0(Native Method)
> > >         at java.net.SocketInputStream.read(SocketInputStream.java:129)
> > >         at
> > >
> >
> org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:145)
> > >         at
> > >
> >
> org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:114)
> > >         at
> > >
> >
> org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:73)
> > >         at org.postgresql.core.PGStream.ReceiveChar(PGStream.java:274)
> > >         at
> > >
> >
> org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1660)
> > >         at
> > >
> >
> org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
> > >         - locked <0x00002b881d689760> (a
> > > org.postgresql.core.v3.QueryExecutorImpl)
> > >         at
> > >
> >
> org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:500)
> > >         at
> > >
> >
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:374)
> > >         at
> > >
> >
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:254)
> > >         at
> > >
> >
> org.apache.tomcat.dbcp.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)
> > >         at
> > >
> >
> org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:332)
> > >         at
> > >
> >
> org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.validateObject(PoolableConnectionFactory.java:312)
> > >         at
> > >
> >
> org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:991)
> > >         at
> > >
> >
> org.apache.tomcat.dbcp.dbcp.AbandonedObjectPool.borrowObject(AbandonedObjectPool.java:84)
> > >         at
> > >
> >
> org.apache.tomcat.dbcp.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:96)
> > >         at
> > >
> >
> org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
> > >         at
> > > com.eos.accounts.util.AccountsDatabaseManager.getConnection(Unknown
> > Source)
> > >         at
> > > com.eos.accounts.util.AccountsDatabaseManager.getConnection(Unknown
> > Source)
> > >         at
> > >
> >
> com.eos.gds.util.GenericSearchQuery.executeQuery(GenericSearchQuery.java:191)
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
>

Reply via email to