RFR: 8307526: [JFR] Better handling of tampered JFR repository [v10]

Joakim Nordström jnordstrom at openjdk.org
Wed Jul 5 08:31:24 UTC 2023


> This change makes sure that "JFR Periodic Task" isn't interrupted by any errors. This can happen when an unfinished chunkfile is removed "in-flight", which would lead to the chunkfiles not being rotated properly, and the maxsize/maxage being ignored.
> 
> With this fix, when an unfinished chunkfile is detected, all of the chunkfiles in the recording are checked for existence (since one likely cause for this could be f.i. 'rm -r /tmp' being invoked, effectively deleting all chunkfiles). Upon seeing missing chunkfiles, an error is logged, and emitted to the recording to signal that some data might be missing.
> A check to catch any missing chunkfiles is also added when dumping a recording -- this can happen if only finished chunkfiles have been removed, which is not detected in-flight.
> 
> Also, a check was added to the file purger to check whether the file had already been deleted to not fill the purge list with already removed files.

Joakim Nordström has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 18 commits:

 - Minor fix
 - Merge
 - Fixes
 - Fixes
 - Fix logging
 - Commit
 - Commit
 - Removed MissingChunkFileError
 - Emit jdk.DataLoss event and some other re-work.
 - Removed now unused import.
 - ... and 8 more: https://git.openjdk.org/jdk/compare/d6578bff...2ebc5e56

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

Changes: https://git.openjdk.org/jdk/pull/14360/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14360&range=09
  Stats: 144 lines in 8 files changed: 102 ins; 8 del; 34 mod
  Patch: https://git.openjdk.org/jdk/pull/14360.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/14360/head:pull/14360

PR: https://git.openjdk.org/jdk/pull/14360


More information about the hotspot-jfr-dev mailing list