On 3/28/11 7:06 AM, Phil Steitz wrote: > On 3/28/11 2:03 AM, Mark Thomas wrote: >> On 28/03/2011 03:44, Phil Steitz wrote: >>> borrowObject, returnObject and invalidatObject also call allocate >>> within synch blocks. Since clearOldest can be kicked off from >>> within any activation of allocate, it seems to me we either need to >>> find a different way to get clearOldest activated or move all of the >>> allocate activations outside of synch blocks. >> I was looking at moving the allocate() calls outside of the syncs. >> >>> I have not made or >>> tested all of these changes, but on first look it seems to me that >>> the only impact of doing this would be slight performance impact due >>> to some additional allocate activations. >> Working on this now. I'll keep on eye on the performance impact via >> Tomcat's jdbc-pool tests that compare DBCP and jdbc-pool. > Rerunning soak tests now. Looking good so far. The POOL-180 test (high incidence of validation failures on return) that took 793 mins before the allocate moves just finished in 23 mins. Nice work, Mark!
Phil > One note on the dbcp tests. In some of my tests, I saw significant > improvements when I used DBCP PoolingDataSource directly instead of > BasicDataSource. This is because of the synchronized call to > createDataSource in BDS#getConnection (DBCP-300). If possible, you > might try running the Tomcat tests with PoolingDataSource in place > of BDS to get a better comparison of the underlying pool performance. > > Phil >> Mark >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >> For additional commands, e-mail: dev-h...@commons.apache.org >> >> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org