[crac] RFR: Make CheckpointException/RestoreException aggregate-only [v8]

Anton Kozlov akozlov at openjdk.org
Fri Jun 9 13:51:10 UTC 2023

On Thu, 8 Jun 2023 11:50:31 GMT, Radim Vansa <duke at openjdk.org> wrote:

>> CheckpointException and RestoreException (both jdk.crac and javax.crac) cannot carry any message, cause and don't collect stack trace. The sole purpose of these is to aggregate other exceptions in suppressed exceptions.
> Radim Vansa has updated the pull request incrementally with one additional commit since the last revision:
>   Update javadoc, make final

src/java.base/share/classes/jdk/crac/Core.java line 89:

> 87:         if (codes.length == 0) {
> 88:             exception.addSuppressed(new RuntimeException("Native checkpoint failed."));
> 89:         }

Turns out this fires on checkpoint dry runs. Suppose a Resource has thrown an exception, we go to JVM just to check no native FD is open. When everything is OK on native side (codes and messages are empty), this exception is thrown, although no native checkpoint is attempted.


PR Review Comment: https://git.openjdk.org/crac/pull/64#discussion_r1224336281

More information about the crac-dev mailing list