[pgpool-general: 2220] Re: More I/O Error in Tomcat
Tatsuo Ishii
ishii at postgresql.org
Fri Oct 25 19:48:46 JST 2013
Great information. I would like to add this to our FAQ.
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp
> You might solve that by adding a time-out on the Tomcat side.
> http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html
> What you should set is (AFAIK):
> minIdle (default is 10, set to 0)
> timeBetweenEvictionRunsMillis (default 5000)
> minEvictableIdleTimeMillis (default 60000)
>
> This will try every 5 seconds and close any connections that were
> not used in the last 60 seconds. If you keep the sum of both numbers
> below the client time-out on the pgpool size connections should be
> closed at Tomcat side before they time-out on the pgpool side.
>
> It is also beneficial to set the
> testOnBorrow (default false, set to true)
> validationQuery (default none, set to 'SELECT version();' no quotes)
> This will help with connections should they expire while waiting,
> without supplying a disconnected connection to the application.
>
> 2013/10/25 Josh Berkus <josh at agliodbs.com>:
>> On 10/24/2013 05:22 PM, Tatsuo Ishii wrote:
>>>>> This error happens between Tomcat and pgpool. I suspect Tomcat
>>>>> establishes persistent connections to pgpool and pgpool disconnects it
>>>>> because client_idle_limit is not 0. Is this your case?
>>>>
>>>> Yes, that sounds likely. If we need to disable client_idle_timeout,
>>>> though, the number of DB connections bloats hopelessly; this is an
>>>> application with many databases, so we end up with several idle pgPool
>>>> connections per database. Without client_idle_timeout, how would we
>>>> handle this?
>>>
>>> Why don't you turn off Tomcat side persistent connections?
>>
>> I can check on that as an option. Might not be feasible.
More information about the pgpool-general
mailing list