logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ralph Goers (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LOG4J2-222) Async Logger threadpool not shut down by Tomcat shutdown
Date Tue, 30 Apr 2013 06:36:16 GMT

    [ https://issues.apache.org/jira/browse/LOG4J2-222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13645321#comment-13645321
] 

Ralph Goers commented on LOG4J2-222:
------------------------------------

The problems were:
a) The disruptor was only being stopped during a shutdown. However, a reconfiguration from
an async logger to a synchronous logger would cause it to never shutdown.
b) The disruptor is a singleton and could be shared by multiple things. A counter was added
to keep track of them and only allow shutdown when everything is complete.
c) The disruptor was shutting down before the managers using it were stopped. It now stops
after them so they can successfully complete.
                
> Async Logger threadpool not shut down by Tomcat shutdown
> --------------------------------------------------------
>
>                 Key: LOG4J2-222
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-222
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0-beta5
>            Reporter: Remko Popma
>             Fix For: 2.0-beta6
>
>
> From the user mailing list - conversation with Steven Yang:
> Looks like Tomcat shutdown checks for memory leaks and notices that the Disruptor threadpool
used by async loggers has not been shut down.
> Is there any way to pick up a Tomcat shutdown signal and use that to trigger log subsystem
shutdown?
> -------------------------
> QUOTING STEVEN:
> Thanks, I tried using asyncRoot and everything seems to log fine and I do see a lot of
logs.
> And logs do seem to be flushed immediately so I do not know if the hook on shutdown is
been called correctly or not.
> I am using struts and spring so I see a lot of logs (log level at DEBUG) just by starting
up tomcat, so I am wondering when I use <root> how come I dont see any log at all? how
much log do I have to write before it starts to flush out? 
> and one thing I found is that when I use asyncRoot and when I shutdown tomcat I see the
following message regarding to clearing references and thread local.
> The last one is related to log4j.
> I am trying this on tomcat 6.0.29. 
> 四月 28, 2013 8:34:46 上午 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
> SEVERE: The web application [/test] registered the JBDC driver [org.h2.Driver] but failed
to unregister it when the web application was stopped. To prevent a memory leak, the JDBC
Driver has been forcibly unregistered.
> 四月 28, 2013 8:34:46 上午 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
> SEVERE: The web application [/test] appears to have started a thread named [pool-2-thread-1]
but has failed to stop it. This is very likely to create a memory leak.
> 四月 28, 2013 8:34:46 上午 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
> SEVERE: The web application [/test] created a ThreadLocal with key of type [java.lang.ThreadLocal]
(value [java.lang.ThreadLocal@454e119d]) and a value of type [com.opensymphony.xwork2.inject.ContainerImpl]
(value [com.opensymphony.xwork2.inject.ContainerImpl@8667df7]) but failed to remove it when
the web application was stopped. This is very likely to create a memory leak.
> 四月 28, 2013 8:34:46 上午 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
> SEVERE: The web application [/test] created a ThreadLocal with key of type [java.lang.ThreadLocal]
(value [java.lang.ThreadLocal@d7e770]) and a value of type [org.apache.logging.log4j.core.impl.Log4jLogEvent]
(value [Logger=org.springframework.beans.factory.support.DefaultListableBeanFactory Level=INFO
Message=Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@61e118f9:
defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframewo...

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org


Mime
View raw message