java.util.Timer in EvictionTimer does not recover from OutOfMemoryError in
Evictor
----------------------------------------------------------------------------------
Key: POOL-122
URL: https://issues.apache.org/jira/browse/POOL-122
Project: Commons Pool
Issue Type: Bug
Affects Versions: 1.3
Environment: any
Reporter: Marcus Schulte
GenericKeyedObjectPool.Evictor.run() catches and ignores Exceptions, but not
Errors, like OOME. Consequently, when, due to load-peeks an OOME is thrown in
the evictor's timer-thread it dies miserably and no eviction will happen again
in any of the pools loaded within the same class-loader (because the eviction
timer is a static member). Also, the creation of evicting pools will fail with
IllegalStateException.
Possible fixes:
1. catch Throwable in GenericKeyedObjectPool.Evictor.run()
2. check and eventually re-instantiate the Eviction-Timer.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.