[
https://issues.apache.org/jira/browse/LOG4J2-1858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15949135#comment-15949135
]
Adrien Grand commented on LOG4J2-1858:
--------------------------------------
I haven't submitted a patch as it should be trivial to fix, but in case that
would make things any easier on your end I can provide one.
> Memory issues with ParameterizedMessage
> ---------------------------------------
>
> Key: LOG4J2-1858
> URL: https://issues.apache.org/jira/browse/LOG4J2-1858
> Project: Log4j 2
> Issue Type: Bug
> Reporter: Adrien Grand
>
> ParameterizedMessage keeps track of a ThreadLocal<StringBuilder> in order to
> save object creations. However, the reused string builders can only grow over
> time, which may end up causing memory issues after some large messages have
> been logged. This is especially true if the application uses a fixed thread
> pool since the string builders cannot be collected at all.
> One way to address that issue would be to drop the string builder if it grows
> too large, but I have concerns that this could cause garbage collection
> issues if this happens too often (since those string builders might not die
> young). So maybe this class should go back to create the StringBuilder on
> demand and make sure it always dies young?
> For the record, this problem seems to have been introduced in LOG4J2-1271 /
> https://git-wip-us.apache.org/repos/asf?p=logging-log4j2.git;a=blobdiff;f=log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java;h=d315c1345b5fb72c8d88f5e1aa177011c7376fb9;hp=334e19ba7c188e8ac862863830cf17dca7b7007c;hb=dca586c;hpb=047565e8928b0c9893c25ee92ffdf48dbcd6965c.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]