-----Original Message----- From: Phil Steitz [mailto:phil.ste...@gmail.com] Sent: Friday, July 01, 2016 9:16 PM To: users@tomcat.apache.org Subject: Re: tomcat 7 connection pool validation interval
On 7/1/16 7:14 AM, Nir Dweck wrote: > -----Original Message----- > From: Phil Steitz [mailto:phil.ste...@gmail.com] > Sent: Thursday, June 30, 2016 6:57 PM > To: Tomcat Users List > Subject: Re: tomcat 7 connection pool validation interval > > > >>>> On Jun 30, 2016, at 9:32 AM, Nir Dweck <n...@vasco-de.com> wrote: >>>> >>>> I am using tomcat connection pool (tomcat 7) in my application (java >>>> application) to connect to a remote Oracle DB on an Azure machine. My >>>> connection pool configuration is as follow: >>>> >>>> PoolProperties p = new PoolProperties(); >>>> p.setUrl(connString); >>>> p.setUsername(user); >>>> p.setPassword(password); >>>> p.setDriverClassName("oracle.jdbc.OracleDriver"); >>>> p.setValidationQuery("SELECT 1 from dual"); >>>> p.setValidationInterval(1 * 60000/2); >>>> p.setTimeBetweenEvictionRunsMillis(1 * 60000/2); >>>> p.setTestOnBorrow(true); >>>> p.setTestWhileIdle(true); >>>> p.setMinIdle(10); >>>> p.setInitialSize(10); >>>> However looking at the capture file, I see that the connections are not >>>> checked every 30 seconds as I expected. One connection is checked >>>> correctly, the others are checked after 3 times the configuration (180 >>>> second). then again only some of the connections are checked and after a >>>> while it seems to stable on twice the configuration period (every 60 >>>> seconds). >>>> >>>> I tested it with different configured time and different pool size, all >>>> had a instability period in which each time only part of the connections >>>> were checked and eventually it stabled on checks of all the connections >>>> every twice the configured time. >>>> What am I missing? >>>> Thanks, >>> Most likely the connections not being tested are checked out to clients >>> when the pool maintenance runs. Assuming you are using the default DBCP >>> pool, >>only idle connections (meaning waiting in the pool) are tested by >>> the maintenance thread. >>> Phil >> No, all connection are idle, but still looking at wireShark the validation >> query is sent every twice the TimeBetweenEvictionRunsMillis. > >I am sorry I should have been more clear. The term, "idle" is a little >confusing here. I should have said connections are only checked when they are >not >checked out to client threads. A connection can be "idle" from the DB >standpoint but still checked out to a client. A connection that is checked >out to a >client will not be tested by the pool maintenance thread. Are there >clients using the pool while you are running this test? >I notice now a parameter not supported by DBCP, so I guess you must be using >the tomcat-jdbc pool. It looks to me like it defines "idle" the same way DBCP >does - in other words above statements are true for that pool too. >It is also possible that setting validationInterval to a value <= >timeBetweenEvictionRuns may cause some validations to be suppressed, since the >former is a >max frequency. >Phil Hi Phil, I understood you correctly, none of the connections are held by any client. All are idle in the pool. I tried also setting timeBetweenEvictionRuns to half validationInterval, but still, the best I get is that the connections are validated in half the frequency I requested (every 2 * validationInterval). And yes I am using tomcat-jdbc pool. Nir >> > > Nir > >> Nir > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org