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()
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
tryblock). 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: