[crac] RFR: Fix ordering of invocation on Resources

Radim Vansa duke at openjdk.org
Mon Apr 24 10:54:07 UTC 2023


On Mon, 24 Apr 2023 09:45:39 GMT, Anton Kozlov <akozlov at openjdk.org> wrote:

>> Generally speaking, your proposal to try performing the checkpoint until it succeeds is more permissive, as users can back-off from a bad/fragile design through retrying, rather than being forced to correct the dependencies between components. In the past it seemed to me that you were more on the "good design required" rather than "practical" side of things - please don't take this as any form of "ad hominem" argument, I would just like to understand why you opt for such solution here. In my view a timeout/IO error are a totally different category of error.
>
> The CheckpointException is a CRaC-specific, deliberately thrown exception to communicate the problem with the state to the requester of the checkpoint. The exception may suggest rewriting the code, or another attempt. We don't care a lot about the preceise meaning, we just need to deliver the exception. Although lesser number of exceptions is better of course.

I realized that you actually asked for a different behaviour than what I thought initially, something like the `ConcurrentModificationException` while iterating a collection. That is not that bad, and we can add debug option to track where this happened.

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

PR Review Comment: https://git.openjdk.org/crac/pull/60#discussion_r1175114397


More information about the crac-dev mailing list