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

Embedded RemoteActorErrors and other exceptions #268

Open
goodboy opened this issue Dec 6, 2021 · 0 comments
Open

Embedded RemoteActorErrors and other exceptions #268

goodboy opened this issue Dec 6, 2021 · 0 comments
Labels
IPC and transport messaging messaging patterns and protocols

Comments

@goodboy
Copy link
Owner

goodboy commented Dec 6, 2021

Relates heavily to #5.

After doing a lot of involved messaging / runtime reworking in #261 I've realized it would sure be a lot more friendly to support embedded / nested RemoteActor errors.

Here's a simple example:
root spawns child, child starts task in root and that task errors making the error flow look like:

root --RemoteActorError[Exception] --> child
root <--RemoteActorError[RemoteActorError[Exception]]] -- child

The problem is that currently there's no way to dig out the original Exception details from the nested rme.
How could we offer this such that, for example, a task can introspect and understand more complex error flows?

Questions:

  • Is this over the top and we should try to keep things flat instead of nested (python zen stuff)?
  • where should nesting end? In theory you could have a ping pong nesting of a single error under the right conditions in which case does something like the messaging equivalent of a RecursionError make sense?
  • what actual source exception details / metadata should we be serializing (would love to keep it super simple and with cross-lang support in mind), which is basically the main question How to do (next gen, SC oriented) remote error serialization for cross host/process propagation?  #5?

Resources:

  • raise from syntax is one built-in way we can chain exception data (see this SO) but how would we get the nested form of this? A custom tb serializer?
@goodboy goodboy added IPC and transport messaging messaging patterns and protocols labels Dec 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
IPC and transport messaging messaging patterns and protocols
Projects
None yet
Development

No branches or pull requests

1 participant