commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mark Thomas (JIRA)" <j...@apache.org>
Subject [jira] Commented: (POOL-122) java.util.Timer in EvictionTimer does not recover from OutOfMemoryError in Evictor
Date Sat, 02 Feb 2008 18:50:16 GMT

    [ https://issues.apache.org/jira/browse/POOL-122?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12565098#action_12565098
] 

Mark Thomas commented on POOL-122:
----------------------------------

Once there has been an OOME the only safe course of action is to shut the JVM down, assuming
you have enough control left to be able to do that. Swallowing the OOME will make it impossible
to detect that the system needs to shut down, so I am against any such change.

> 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.


Mime
View raw message