RFR: 8345493: JFR: JVM.flush hangs intermittently [v2]
Markus Grönlund
mgronlun at openjdk.org
Wed Jan 15 13:04:59 UTC 2025
> Greetings,
>
> This is the fix for JDK-8345493.
>
> Problem Summary:
> 1. Threads calling JVM.begin_recording() and JVM.end_recording() only hold the PlatformRecorder lock (not the MetadataRepository lock)
> 2. The periodic flush thread only holds the MetadataRepository lock, not the PlatformRecorder lock.
>
> Problem solution:
> The periodic flush thread must acquire both the PlatformRecorder lock and the MetadataRepository lock (in that order).
>
> Testing: jdk_jfr, stress testing.
>
> Thanks
> Markus
Markus Grönlund has updated the pull request incrementally with two additional commits since the last revision:
- revert notify_all()
- FlushTask to acquire PlatformRecorder and MetadataRepository locks
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/23105/files
- new: https://git.openjdk.org/jdk/pull/23105/files/742f391c..5c8e9f10
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=23105&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=23105&range=00-01
Stats: 10 lines in 3 files changed: 7 ins; 0 del; 3 mod
Patch: https://git.openjdk.org/jdk/pull/23105.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/23105/head:pull/23105
PR: https://git.openjdk.org/jdk/pull/23105
More information about the hotspot-jfr-dev
mailing list