Re: tomcat-jdbc PoolCleaner deadlock

2015-02-06 Thread Filip Hanik
thank you Robert! On Fri, Feb 6, 2015 at 11:14 AM, Robert Anderson wrote: > Hi, > > After a full week of normal usage, no deadlocks were found. > > > Thank you very much. > > Robert > > > > 2015-01-30 16:38 GMT-03:00 Robert Anderson : > > > Ok, Filip! > > > > Thanks, > > > > Robert > > > > 2015-

Re: tomcat-jdbc PoolCleaner deadlock

2015-02-06 Thread Robert Anderson
Hi, After a full week of normal usage, no deadlocks were found. Thank you very much. Robert 2015-01-30 16:38 GMT-03:00 Robert Anderson : > Ok, Filip! > > Thanks, > > Robert > > 2015-01-30 16:31 GMT-03:00 Filip Hanik : > > Robert, kindly let us know if disabling the pool cleaner does resolve

Re: tomcat-jdbc PoolCleaner deadlock

2015-01-30 Thread Robert Anderson
Ok, Filip! Thanks, Robert 2015-01-30 16:31 GMT-03:00 Filip Hanik : > Robert, kindly let us know if disabling the pool cleaner does resolve your > dead lock > > Filip > > > On Fri, Jan 30, 2015 at 12:25 PM, Robert Anderson > wrote: > > > Great, Filip! > > > > "Returns true if the pool sweeper i

Re: tomcat-jdbc PoolCleaner deadlock

2015-01-30 Thread Filip Hanik
Robert, kindly let us know if disabling the pool cleaner does resolve your dead lock Filip On Fri, Jan 30, 2015 at 12:25 PM, Robert Anderson wrote: > Great, Filip! > > "Returns true if the pool sweeper is enabled for the connection pool. The > pool sweeper is enabled if any settings that requi

Re: tomcat-jdbc PoolCleaner deadlock

2015-01-30 Thread Robert Anderson
Great, Filip! "Returns true if the pool sweeper is enabled for the connection pool. The pool sweeper is enabled if any settings that require async intervention in the pool are turned on boolean result = getTimeBetweenEvictionRunsMillis()>0; result = result && (isRemoveAbandoned() && getRemoveAband

Re: tomcat-jdbc PoolCleaner deadlock

2015-01-30 Thread Filip Hanik
Are you seeing that message, cause it seems to be a defensive check, but wouldn't happen due to 509 public void initializePoolCleaner(PoolConfiguration properties) { 510 //if the evictor thread is supposed to run, start it now 511 if (properties. isPoolSweeperEnabled()) { 512 poolCleaner = new Poo

Re: tomcat-jdbc PoolCleaner deadlock

2015-01-30 Thread Filip Hanik
Robert, it should say, if you set a positive value, the value should not be less than 1000ms. Otherwise you are hammering the system with eviction checks. Setting the value to 0, disables the check all together. There are other ways to disable the same check by setting other flags, 918 @Override 9

Re: tomcat-jdbc PoolCleaner deadlock

2015-01-30 Thread Robert Anderson
Filip, timeBetweenEvictionRunsMillis=0 does not disable PoolCleaner [1]. if (sleepTime <= 0) { log.warn("Database connection pool evicter thread interval is set to 0, defaulting to 30 seconds"); this.sleepTime = 1000 * 30; } else if (sleepTi

Re: tomcat-jdbc PoolCleaner deadlock

2015-01-30 Thread Robert Anderson
Sorry, [1] https://people.apache.org/~fhanik/jdbc-pool/jdbc-pool.html 2015-01-30 15:15 GMT-03:00 Robert Anderson : > Filip, > > however, disabling the pool cleaner it should yield better results. > > The documention[1] says: > > "This value should not be set under 1 second" > > Isn't true? > > >

Re: tomcat-jdbc PoolCleaner deadlock

2015-01-30 Thread Robert Anderson
Filip, however, disabling the pool cleaner it should yield better results. The documention[1] says: "This value should not be set under 1 second" Isn't true? 2015-01-30 15:07 GMT-03:00 Filip Hanik : > Looking at the locks that are involved in the dead lock, it's all in the > intersys traces

Re: tomcat-jdbc PoolCleaner deadlock

2015-01-30 Thread Filip Hanik
Looking at the locks that are involved in the dead lock, it's all in the intersys traces. Furthermore, it seems as intersys may already be doing pooling inside the driver. If that is the case, you have two options 1. disable pooling in intersys OR 2. don't use tomcat's jdbc pool since intersys alr

Re: tomcat-jdbc PoolCleaner deadlock

2015-01-30 Thread Filip Hanik
Disable the pool cleaner timeBetweenEvictionRunsMillis=0

Re: tomcat-jdbc PoolCleaner deadlock

2015-01-30 Thread Felix Schumacher
Am 30.01.2015 um 18:44 schrieb Robert Anderson: Could you post a full stacktrace, or threaddump? "ajp-apr-8009-exec-13 ^ 30/01/2015 - 09:39:58 - DB:DATASOURCE(java:/comp/env/jdbc/cacheapp)" daemon prio=10 tid=0x13bb nid=0x7a6d waiting for monitor entry [0x5125b000] java.l

Re: tomcat-jdbc PoolCleaner deadlock

2015-01-30 Thread Robert Anderson
Could you post a full stacktrace, or threaddump? "ajp-apr-8009-exec-13 ^ 30/01/2015 - 09:39:58 - DB:DATASOURCE(java:/comp/env/jdbc/cacheapp)" daemon prio=10 tid=0x13bb nid=0x7a6d waiting for monitor entry [0x5125b000] java.lang.Thread.State: BLOCKED (on object monitor)

Re: tomcat-jdbc PoolCleaner deadlock

2015-01-30 Thread Robert Anderson
Thanks, Chris. In general, I would expect validationInterval="0" to disable validation, but the documentation does not say anything about a zero value. Is it possible that you are /constantly/ validating? If you change that number to something higher (in ms: maybe "1" for 10s) you will reduce

Re: tomcat-jdbc PoolCleaner deadlock

2015-01-30 Thread Felix Schumacher
Am 30.01.2015 um 18:19 schrieb Robert Anderson: Every day we are getting deadlocks like that: Found one Java-level deadlock: = "ajp-apr-8009-exec-13 ^ 30/01/2015 - 09:39:58 - DB:DATASOURCE(java:/comp/env/jdbc/cacheapp)": waiting to lock monitor 0x1504e6d8 (

Re: tomcat-jdbc PoolCleaner deadlock

2015-01-30 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Robert, On 1/30/15 12:19 PM, Robert Anderson wrote: > Every day we are getting deadlocks like that: > > Found one Java-level deadlock: = > "ajp-apr-8009-exec-13 ^ 30/01/2015 - 09:39:58 - > DB:DATASOURCE(java:/comp/env/