[crac] RFR: Fix ordering of invocation on Resources [v10]

Anton Kozlov akozlov at openjdk.org
Wed May 10 10:40:43 UTC 2023


On Wed, 10 May 2023 09:38:50 GMT, Radim Vansa <duke at openjdk.org> wrote:

>> * keeps the original handling of exceptions: afterRestore is called even if beforeCheckpoint throws
>> * allows to register a resource in a context that did not start beforeCheckpoint invocations yet
>> * registering resource in previous/running context fails the checkpoint but does not trigger exception immediately
>>    * instead this will be one of the recorded exceptions and the resource has a chance to fire next time
>> * allowed registration of resources can be invoked from other thread without deadlock; illegal registration can deadlock, though
>
> Radim Vansa has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Remove mention of single-threaded notifications

Context changes are mostly good, except a small nit

src/java.base/share/classes/jdk/crac/impl/AbstractContextImpl.java line 58:

> 56:         }
> 57:         if (e.getMessage() != null) {
> 58:             ce.addSuppressed(e);

What happens with exceptions suppressed by `e`? will we have the same set of exceptions suppressed by `ce` and `e`?

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

PR Review: https://git.openjdk.org/crac/pull/60#pullrequestreview-1420308681
PR Review Comment: https://git.openjdk.org/crac/pull/60#discussion_r1189698760


More information about the crac-dev mailing list