Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pipeline Error Propagation, Handling & Suppression #370

Closed
JoeHegarty opened this issue Apr 7, 2019 · 0 comments
Closed

Pipeline Error Propagation, Handling & Suppression #370

JoeHegarty opened this issue Apr 7, 2019 · 0 comments
Assignees
Milestone

Comments

@JoeHegarty
Copy link
Member

JoeHegarty commented Apr 7, 2019

There are some complex scenarios we need to handle with the pipeline error system.

The main cases are:

  • Outgoing requests implicitly have an error handler (the caller) who is expected to wait on the response, so in this case Orbit should suppress the error and just propagate to the caller. There is some additional complexity around ResponseTracking handling a deeper error (say in serialization) that does not come back as a response.

  • Outgoing one way requests have an implicit handler until they reach ResponseTracking, at which point we complete the promise. Before this step Orbit should suppress and propagate the error. After that point it should treat the error as unhandled.

  • Incoming requests are implicitly unhandled until they have been received by ResponseTracking which registers a listener to propagate the error back to the calling node as a response. Before ResponseTracking they should be treated as unhandled, afterwards they should be suppressed and propagated.

  • Incoming one way requests are unhandled entirely and should always be treated as such.

@JoeHegarty JoeHegarty added this to the 2.0 Alpha 6 milestone Apr 7, 2019
@JoeHegarty JoeHegarty self-assigned this Apr 7, 2019
JoeHegarty added a commit that referenced this issue Apr 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant