[
https://issues.apache.org/jira/browse/LOG4J2-1858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15978132#comment-15978132
]
ASF subversion and git services commented on LOG4J2-1858:
---------------------------------------------------------
Commit a903427c5f373e476736a07f259afb463a7001fd in logging-log4j2's branch
refs/heads/java9NoMultiRelease from rpopma
[ https://git-wip-us.apache.org/repos/asf?p=logging-log4j2.git;h=a903427 ]
LOG4J2-1858 make the MAX_REUSABLE_MESSAGE_SIZE available in log4j-api's
Constants class
> 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
> Assignee: Remko Popma
> Fix For: 2.9
>
>
> 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)