Issue Details (XML | Word | Printable)

Key: POOL-125
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Unassigned
Reporter: Phil Steitz
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Commons Pool

Insufficient control over concurrent access to pooled objects by Evictor, client threads

Created: 09/Mar/08 05:18 PM   Updated: 19/Jun/09 04:13 PM
Component/s: None
Affects Version/s: 1.2, 1.4
Fix Version/s: 1.5

Time Tracking:
Not Specified

Issue Links:
Blocker
 

Resolution Date: 12/May/09 06:08 PM


 Description  « Hide
In pool 1.2, 1.4, borrowObject, returnObject, invalidateObject are not fully synchronized. This creates the potential for race conditions vis a vis the Evictor and/or client object lock contention. Factory methods on pooled objects should not be allowed to be invoked concurrently by client threads and the Evictor.

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Repository Revision Date User Message
ASF #762415 Mon Apr 06 17:00:20 UTC 2009 markt Rename prior to using when fixing POOL-125
Files Changed
MODIFY /commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
MODIFY /commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericObjectPool.java

Repository Revision Date User Message
ASF #762476 Mon Apr 06 19:48:52 UTC 2009 markt Align the GKOP borrowObject() code with that in GOP. In addition to making the code easier to understand this also:
- partially addresses POOL-125 since it moves calls to factory methods outside of sync blocks
- ports POOL-102 to GKOP
Files Changed
MODIFY /commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java

Repository Revision Date User Message
ASF #774007 Tue May 12 18:07:44 UTC 2009 markt Fix POOL-125
Ensure we don't call factory methods from inside a sync block to prevent deadlocks like DBCP-44
Files Changed
MODIFY /commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
MODIFY /commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericObjectPool.java

Repository Revision Date User Message
ASF #781163 Tue Jun 02 20:52:28 UTC 2009 markt Factory methods *should not* be called from within syncs.
Fix copy/paste error in r774007.
Part of fix for POOL-125
Files Changed
MODIFY /commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java