Store icon indicating copy to clipboard operation
Store copied to clipboard

Remove downstream channel in noncancellable context

Open lukisk opened this issue 3 years ago • 2 comments

Fixes #435

Explanation: When downstream flow is aborted (this is happening when first operator is called on flow -> which is called in Store.fresh extension), than coroutine context in which is subflow (created from channel) is cancelling. In this case the channel is cancelled too, but there is no guarantee that channel is properly removed from the channel manager. In the next run when the channel manager is trying to send msg (ChannelManager::doDispatchValue) to this cancelled channel, it throws AbortFlowException. This exception is caught in StoreRealActor and this caused that all channels(and Multicaster itself) are closed.

lukisk avatar Aug 04 '22 22:08 lukisk

I try to prepare tests for this behaviour in next few days

lukisk avatar Aug 04 '22 22:08 lukisk

Thanks! Will merge once we have a test. Thank you for fixing.

digitalbuddha avatar Aug 04 '22 22:08 digitalbuddha

please run ./gradlew multicast:apiDump to fix the failure

digitalbuddha avatar Aug 18 '22 23:08 digitalbuddha

please CR

lukisk avatar Aug 25 '22 06:08 lukisk

Generally looks good. I'm curious why creation of new class/rename rather than fixing inline? The concern is we will lose git history

digitalbuddha avatar Aug 27 '22 12:08 digitalbuddha

i don't like when implementation is mixed with interfaces, but if this is preferred way, i can change it..

lukisk avatar Aug 30 '22 11:08 lukisk

Got it that makes sense. Can we flip do that the impl is in old file. It's mostly just history I care about

digitalbuddha avatar Aug 30 '22 11:08 digitalbuddha

ok, i will change it

lukisk avatar Aug 30 '22 12:08 lukisk

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@9721acd). Click here to learn what that means. Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #440   +/-   ##
=======================================
  Coverage        ?   84.40%           
  Complexity      ?      173           
=======================================
  Files           ?       49           
  Lines           ?      917           
  Branches        ?      132           
=======================================
  Hits            ?      774           
  Misses          ?       78           
  Partials        ?       65           

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

codecov-commenter avatar Sep 06 '22 05:09 codecov-commenter

@digitalbuddha is it ok now?

lukisk avatar Sep 07 '22 05:09 lukisk