Youssef Shoaib [MOD]
06/20/2026, 9:41 PMuse)
I'm aiming to fix this once and for all!
Probably my highest PR description-to-diff ratio yet!simon.vergauwen
06/22/2026, 5:23 PMCLOVIS
06/22/2026, 5:25 PMYoussef Shoaib [MOD]
06/22/2026, 5:29 PMCancellationException, then kotlinx-coroutines or Raise would recover from the cancellation, but thus continue ignoring the original error.CLOVIS
06/22/2026, 5:30 PMYoussef Shoaib [MOD]
06/22/2026, 5:32 PMsaga. Compensation actions could be failing, and the code never finds out about it. It feels like a break of contract (not saying it actually is, just that it feels weird)simon.vergauwen
06/22/2026, 5:32 PMsimon.vergauwen
06/22/2026, 5:33 PMYoussef Shoaib [MOD]
06/22/2026, 5:34 PMraise, so it's not just coroutine shutdownsimon.vergauwen
06/22/2026, 5:35 PMraise then? That's exactly why I gave the raise exception a public api so you can distinct between "normal cancellation" and raise.Youssef Shoaib [MOD]
06/22/2026, 5:39 PMRaiseCancellationException is what should be deprioritized, not CancellationException
I'm a little bit skeptical just because CancellationException sometimes gets thrown not because of coroutine shutdown (e.g. if you cancel a Deferred then try to await it), but this can be a good compromise