commons-pool-1.5 RELEASE NOTES This is a maintenance release including several important bug fixes. This release is source and binary compatible with versions 1.3 and 1.4 of commons pool. In addition to resolving some important concurrency-related bugs (POOL-135, POOL-125, POOL-29 POOL-107) this release implements a fairness algorithm to ensure that threads waiting for available object instances from GenericObjectPools and GenericKeyedObjectPools are served in request arrival order. Changes in this version include: Fixed Bugs: o POOL-139: StackKeyedObjectPool.getNumActive() needs to be synchronized. Thanks to Sebastian Bazley. o POOL-137: Inconsistent synchronization in GenericObjectPool; constant fields should be final. Thanks to Sebastian Bazley. o POOL-75: GenericObjectPool not FIFO with respect to borrowing threads. Thanks to Takayuki Kaneko and Gordon Mohr. o POOL-135: _numActive > _maxActive under load o POOL-125: Insufficient control over concurrent access to pooled objects by Evictor, client threads. o POOL-107: Number of connections created has crossed more than maxActive. o POOL-122: java.util.Timer in EvictionTimer does not recover from OutOfMemoryError in Evictor. o POOL-133: Failed object creation may result in invalid active count in GKOP. For complete information on commons-pool, including instructions on how to submit bug reports, patches, or suggestions for improvement, see the commons-pool website: http://commons.apache.org/pool/