[ 
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]

Reply via email to