RFR: 8307526: [JFR] Better handling of tampered JFR repository [v10]
Joakim Nordström
jnordstrom at openjdk.org
Wed Jul 5 21:04:55 UTC 2023
On Wed, 5 Jul 2023 08:31:24 GMT, Joakim Nordström <jnordstrom at openjdk.org> wrote:
>> 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.
>>
>> ### Testing
>> - [x] tier1-3
>> - [x] jdk_jfr
>
> 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
Thanks for reviewing, @turbanoff and @egahlin. Could I also request a sponsor for this? Thanks!
-------------
PR Comment: https://git.openjdk.org/jdk/pull/14360#issuecomment-1622502602
More information about the hotspot-jfr-dev
mailing list