Skip to content

Exceptions with no message cause orchestration to hang #529

@shaneseaton

Description

@shaneseaton

🐛 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.

Metadata

Metadata

Assignees

Labels

P2Priority 2

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions