[jdk18] Integrated: 8277919: OldObjectSample event causing bloat in the class constant pool in JFR recording
Markus Grönlund
mgronlun at openjdk.java.net
Tue Dec 14 13:04:10 UTC 2021
On Mon, 13 Dec 2021 16:25:27 GMT, Markus Grönlund <mgronlun at openjdk.org> wrote:
> Greetings,
>
> Allocation heavy applications with OldObjectSample with stacktraces enabled will end up storing many duplicates of the same klass artefact, creating a considerable bloat in the class area of the recording constant pool. This is because of JDK-8233705, which can lead to multiple klass entries enqueued via the load barrier, in combination with an insufficient filter mechanism for the leak profiler artefacts. Leak profiler artefacts range over the entire set of artefacts enqueued in the previous epoch. Careful selection of clearing leakp bits for classes becomes a sufficient filtering mechanism similar to the one used for regular artefacts to avoid duplicates.
>
> Thanks to @jbachorik for reporting and doing the initial analysis.
>
> Markus
This pull request has now been integrated.
Changeset: 475ec8e6
Author: Markus Grönlund <mgronlun at openjdk.org>
URL: https://git.openjdk.java.net/jdk18/commit/475ec8e6c5abc3431344d69bd46395e8c4b46e4c
Stats: 16 lines in 3 files changed: 7 ins; 4 del; 5 mod
8277919: OldObjectSample event causing bloat in the class constant pool in JFR recording
Reviewed-by: jbachorik
-------------
PR: https://git.openjdk.java.net/jdk18/pull/15
More information about the hotspot-jfr-dev
mailing list