Skip to content

Distributed Exception Handling #34

@AlexDimakos

Description

@AlexDimakos

Problem Statement
Currently, uncaught exceptions in Styx lead to a state rollback. This does not allow handling exceptions across different machines.

Main Idea
It would be nice to be able to pass metadata on remote calls to indicate if the execution is happening within a "safe" environment (inside a try block). If this flag is present and an exception is thrown on the remote machine, there should be no rollback, instead, the function should return the exception in some defined format.

Essentially, we want to mirror standard non-distributed Python functionality:

try:
    # remote call
    item.update_stock()
except OutOfStockException:
    # fallback logic: do something else
    handle_out_of_stock()

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions