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

Markus Grönlund mgronlun at openjdk.java.net
Fri Dec 10 20:20:48 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 over the entire set of artefacts enqueued in the previous epoch. A filtering mechanism similar to the one used for regular artefacts becomes necessary to avoid duplicates.
> 
> Thanks to @jbachorik for reporting and doing the initial analysis.
> 
> Markus

Markus Grönlund has updated the pull request incrementally with one additional commit since the last revision:

  special treatment for lock

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/6801/files
  - new: https://git.openjdk.java.net/jdk/pull/6801/files/fe4e3162..72cce6f7

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=6801&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=6801&range=00-01

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 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