[ 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: log4j-dev-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-dev-h...@logging.apache.org