[
https://issues.apache.org/jira/browse/LOG4J2-1235?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15312071#comment-15312071
]
Sascha Scholz commented on LOG4J2-1235:
---------------------------------------
I'm not able to test it in a realistic environment at the moment, but the code
looks good. Thanks very much for the fix.
One additional thing: I think there's a missing null check for future in stop()
because future could be null if there wasn't an log event before. But
strangely, I cannot see the NPE because stop() is never called in my
application although Log4jServletContextListener.contextDestroyed is called.
Sascha
> org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy not working
> correctly
> ------------------------------------------------------------------------------------
>
> Key: LOG4J2-1235
> URL: https://issues.apache.org/jira/browse/LOG4J2-1235
> Project: Log4j 2
> Issue Type: Bug
> Components: Appenders
> Affects Versions: 2.5
> Reporter: Niranjan Rao
> Priority: Critical
>
> There is a problem in the function
> org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy.scheduleNext().
> I got out of file handles errors despite of setting IdlePurgePolicy. I did
> some digging I believe following is the cause
> If the createTime is Long.MAX_VALUE, task is never scheduled. However
> function
> org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy.update(String,
> LogEvent) checks if the future is not null before deciding to schedule.
> After appendersUsage becomes empty first time, appenders keep piling up.
> I believe fix will be to set future to null in the function scheduleNext in
> the else part of the condition where it checks for createTime
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]