RFR: 8277919: OldObjectSample event causing bloat in the class constant pool in JFR recording

Markus Grönlund mgronlun at openjdk.java.net
Fri Dec 10 17:17:34 UTC 2021


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 of the entire set of artefacts enqueued in the previous epoch. A filtering mechanism similar to the regular artefacts becomes necessary to avoid duplicates.

Thanks to @jbachorik for reporting and doing the initial analysis.

Markus

-------------

Commit messages:
 - 8277919

Changes: https://git.openjdk.java.net/jdk/pull/6801/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=6801&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8277919
  Stats: 24 lines in 3 files changed: 19 ins; 0 del; 5 mod
  Patch: https://git.openjdk.java.net/jdk/pull/6801.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/6801/head:pull/6801

PR: https://git.openjdk.java.net/jdk/pull/6801


More information about the hotspot-jfr-dev mailing list