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

Reply via email to