-
Notifications
You must be signed in to change notification settings - Fork 64
Description
🐛 Describe the bug
When I my orchestrator was throwing a custom exception that didn't have a message in it, the orchestration was hanging, instead of completing and reporting a failure.
🤔 Expected behavior
I would have expected any exception should cause the orchestration to "Fail", not just those with a message.
☕ Steps to reproduce
Create an orchestration that raises a simple exception that doesn't have a message in the parameters
This cause the orchestration to hang:
class MyException(Exception):
pass
@bp.orchestration_trigger(context_name="context")
def gcp_account_creation(context: df.DurableOrchestrationContext):
... do some things
raise MyException()
This works as expected (moves orch to failure state):
class MyException(Exception):
pass
@bp.orchestration_trigger(context_name="context")
def gcp_account_creation(context: df.DurableOrchestrationContext):
... do some things
raise MyException("some text")
as does this...
class MyException(Exception):
def __init__(self) -> None:
super().__init__("Some text")
@bp.orchestration_trigger(context_name="context")
def gcp_account_creation(context: df.DurableOrchestrationContext):
... do some things
raise MyException()
Fortunately I can progress my work by using a message in my exceptions, but I don't think things should stay like this. Very confusing, cost me a lot of time to debug. Happy to hear if this is an issue, or some misunderstanding from me.