Skip to content

Conversation

HenryTonnison
Copy link

Fix for #3162

I was genuinely spooked that we didn't get a TimeoutException on timeouts and TaskCanceledException on cancellations.

I appreciate this is a bit of a fundamental change, I think it's an improvement, but my understanding probably isn't good enough to see possible repercussions.

@Horusiath
Copy link
Contributor

This PR changes a timeout contract a little (from AskTimeoutExceptionAggregateException with inner exn). This causes ScatterGatherFirstCompletedSpec.Scatter_gather_group_must_handle_failing_timeouts to fail.
Anyone in @akkadotnet/core has some pros/cons to say here?

@Aaronontheweb
Copy link
Member

Changes are going to break a whole bunch of other people's code who depend on the current exceptions being thrown as-is.

@@ -141,6 +141,23 @@ public void Can_Ask_actor_inside_receive_loop()
waitActor.Tell("ask");
ExpectMsg("bar");
}

[Fact]
public void Cancelled_ask_with_timeout_should_raise_timeout_exception()
Copy link
Contributor

@maxcherednik maxcherednik Dec 18, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

xunit supports async await. Can we please use it? This will help to avoid wrapping/unwrapping exceptions.

@maxcherednik
Copy link
Contributor

maxcherednik commented Dec 18, 2017

@Horusiath Why do we need to change the contract of the method?
Why do we want to use this AggregatedException?
Plus there was AskTimeoutException - why to use TimeoutExcetion now?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants