This article documents a possible known issue where there is ThreadLocal leak shown in the console logs when shutting down the application server:
org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks
The web application [ROOT] created a ThreadLocal with key of type
[java.lang.ThreadLocal] (value [java.lang.ThreadLocal@ccb08cb]) and a value
of type [io.netty.util.internal.InternalThreadLocalMap] (value
[io.netty.util.internal.InternalThreadLocalMap@21c8be8a]) 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.
Resolution
Status: Won't Fix
Liferay Support Engineers have determined that the leak is caused by Netty, a third party vendor. There is a util method in Netty that attempts to clean up Threadlocal leaks but the error message still persists after the method has been invoked. It was discovered that this error is very common to implementations of Netty, including a dependency inside Elasticsearch, and most vendors, including Elasticsearch, will ignore the error. As a result, Liferay Support Engineers have deemed the impact to Liferay platforms and to customers to be minimal.
Additional Information
For more information, see LPS-83704.
Subscriber Exclusive Content
A Liferay Enterprise Subscription provides access to over 1,500 articles that include best practices, troubleshooting, and other valuable solutions. Sign in for full access.
Sign In