cadence-java-client
cadence-java-client copied to clipboard
Issue with using workflow syntax in signal method
We do not block block people from using workflow syntax, i.e. invoking activities, local activities, child workflows, Async.function and Async.Procedure in Signal Method.
This has several implications, as SignalMethod and WorkflowMethod are organized and run quite differently in the decider. One example is that in the current implementation user exceptions in workflow method are caught and translated into WorkflowExecutionException, which will fail the workflow. On the other hand user exception from signal method are not caught and thus will cause decision to fail and get retried.
So we should either block such calls from signal method, or change the implementation to make the behavior consistent. Not sure if the latter is completely doable though.