Close and Reopen JIT log files across a checkpoint/restore#20935
Close and Reopen JIT log files across a checkpoint/restore#20935mpirvu merged 1 commit intoeclipse-openj9:masterfrom
Conversation
|
A consequence of this change is that when |
|
@mpirvu could you please review? |
mpirvu
left a comment
There was a problem hiding this comment.
Is openNewRTLog(), openNewVlog() and openLogFilesIfNeeded() going to be used anymore?
Also, what about the compilation logs?
I believe these get opened at the start of a compilation and are closed at the end of one. |
|
One thing I"m not sure about actually is what happens right now if we specify |
|
Do you to handle disableSuffixLogs in this PR or separately? |
I figure I should handle it here; I think otherwise, it'll break some of those cmdLineTester tests. |
A common best practice in CRIU mode, at least in OpenJ9, is to close all open files before a checkpoint, and reopen them on restore. The JIT would keep log files such as the vlog and rtLog open across a checkpoint/restore boundary. This commit closes these files on checkpoint and reopens them on restore. Signed-off-by: Irwin D'Souza <[email protected]>
I thought this was the case, but it may not be the case... I think we hold on to the file handles so that they can be used by different threads. I'll have to look deeper into this. |
It is very involved to close and re-open compilation logs across a checkpoint/restore because of the fact that they can be in option sets, shared by different option sets, and shared by different compilation threads. So, I think that's something that should be done in another PR. It may also involve OMR changes. |
|
@mpirvu this should be good for review again. |
|
jenkins test sanity all jdk21 |
|
jenkins test sanity all jdk17 |
|
Most tests have passed. This PR is ready to be merged. |
A common best practice in CRIU mode, at least in OpenJ9, is to close all open files before a checkpoint, and reopen them on restore. The JIT would keep log files such as the vlog and rtLog open across a checkpoint/restore boundary. This PR closes these files on checkpoint and reopens them on restore.