You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Francesco Nigro (Jira)" <ji...@apache.org> on 2020/12/09 08:02:00 UTC
[jira] [Updated] (ARTEMIS-3025) JsonReader char[] leak
[ https://issues.apache.org/jira/browse/ARTEMIS-3025?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Francesco Nigro updated ARTEMIS-3025:
-------------------------------------
Description:
The default Json provider ie https://github.com/apache/johnzon is using several pools while parsing eg {{org.apache.johnzon.max-string-length}} that wouldn't pool char[] if the JsonReader isn't properly closed.
Currently we're not properly closing such readers and that means that we allocate {{org.apache.johnzon.max-string-length}} * 2 bytes on each handled notification ~ 20 MiB.
Until https://bugs.openjdk.java.net/browse/JDK-8027959 ie JDK u40, with G1GC the mentioned char[] was (very likely) performed into the old generation, needing a Full GC to release it.
was:
The default Json provider ie https://github.com/apache/johnzon is using several pools while parsing eg {{org.apache.johnzon.max-string-length}} that would leak char[] if a JsonReader isn't properly closed.
Currently we're not properly closing such readers and that means leaking up to {{org.apache.johnzon.max-string-length}} * 2 bytes on each handled notification.
> JsonReader char[] leak
> ----------------------
>
> Key: ARTEMIS-3025
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3025
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Reporter: Francesco Nigro
> Assignee: Francesco Nigro
> Priority: Major
> Time Spent: 10m
> Remaining Estimate: 0h
>
> The default Json provider ie https://github.com/apache/johnzon is using several pools while parsing eg {{org.apache.johnzon.max-string-length}} that wouldn't pool char[] if the JsonReader isn't properly closed.
> Currently we're not properly closing such readers and that means that we allocate {{org.apache.johnzon.max-string-length}} * 2 bytes on each handled notification ~ 20 MiB.
> Until https://bugs.openjdk.java.net/browse/JDK-8027959 ie JDK u40, with G1GC the mentioned char[] was (very likely) performed into the old generation, needing a Full GC to release it.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)