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

Claus Ibsen commented on CAMEL-17588:
-------------------------------------

Hi

Yeah Bjorn you are on to something, when you have many threads that are not 
long lived - then the thread locals internal array can grow (however they are 
weak referenced so they should be nulled over time) - and the JVM will 
automatic expunge stale entries (see the JDK source).

But to be a good citizen then I think we can look at using a different pooling, 
see linked ticket created.

> Missing Clean-Up for DefaultReactiveExecutor.Worker-ThreadLocals
> ----------------------------------------------------------------
>
>                 Key: CAMEL-17588
>                 URL: https://issues.apache.org/jira/browse/CAMEL-17588
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 3.14.1
>            Reporter: Björn Ohm
>            Priority: Minor
>             Fix For: 3.17.0
>
>         Attachments: catalina.out, plain-camel.zip, workers-threadLocals.PNG
>
>
> We are running a Camel-Application on a Tomcat. While the Tomcat-Shutdown we 
> observed a bunch of Thread-Local-WARNINGS in the catalina.out like:
> {code:java}
> 02-Feb-2022 01:31:23.810 SCHWERWIEGEND [main] 
> org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks 
> The web application [provinzial-integration-intern] created a ThreadLocal 
> with key of type [java.lang.ThreadLocal.SuppliedThreadLocal] (value 
> [java.lang.ThreadLocal$SuppliedThreadLocal@4a4357f5]) and a value of type 
> [org.apache.camel.impl.engine.DefaultReactiveExecutor.Worker] (value 
> [org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker@76e66f23]) but 
> failed to remove it when the web application was stopped. Threads are going 
> to be renewed over time to try and avoid a probable memory leak.{code}
> Obviously this belongs to the ThreadLocals used in 
> {_}org.apache.camel.impl.engine.DefaultReactiveExecutor{_}.
> In the worst case, this can lead to memory problems. 
> The ThreadLocals should be cleaned up.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to