Force workflow failure when workflow cannot decode arguments

We have workflows accessed via a minimalistic API that does not necessarily have access to the most recent input schema of the workflow. As a result, we would like to pass the request directly and have the input validated by the workflow itself.

Currently, when argument decoding fails there is a workflow task failure, but the workflow continues to retry until timeout.

I understand that this is by design but it doesn’t fit well with our use case. Is there a way to force deserialization failures to fail the workflow immediately? Or do you have any other recommendations/guidelines for dealing with this situation?

Thanks

python sdk 1.4.0
temporal server 0.10.5

Yes, currently this is considered a code bug that you cannot accept what you’re sending and that’s why it suspends the workflow waiting for code fix (or you can terminate). We do have an issue open to customize this and let you fail the workflow in these cases, but it is not implemented yet.

@Chad_Retz
Hi Chad,
I see, thanks for your answer. We’ll just have to perform decoding elsewhere for the time being then.

We do have an issue open to customize this and let you fail the workflow in these cases, but it is not implemented yet.

Any idea regarding timeline?

I am afraid not, sorry.

Memo: This is addressed by the new workflow_failure_exception_types in the Worker constructor.