SetVariables
is not always retryable
#15549
Labels
component/clients
component/zeebe
Related to the Zeebe component/team
kind/bug
Categorizes an issue or PR as a bug
severity/mid
Marks a bug as having a noticeable impact but with a known workaround
version:8.4.7
Marks an issue as being completely or in parts released in 8.4.7
version:8.5.1
Marks an issue as being completely or in parts released in 8.5.1
With #15230 we introduced a default service configuration that marks the
SetVariables
call as retryable onUNAVAILABLE
,RESOURCE_EXHAUSTED
, andDEADLINE_EXCEEDED
:https://github.com/camunda/zeebe/blob/f80144b951c9bd6b40d82dc10a428a1fcb4485bd/gateway-protocol-impl/src/main/resources/gateway-service-config.json#L3-L25
Since
SetVariables
is an imperative command that simply sets the variables for a given element instance, it should not be retried without the user knowing. After the firstSetVariables
was processed but the response timed out withDEADLINE_EXCEEDED
, the process instance may make progress and change state such that a retriedSetVariables
may not be correct.SetVariables
stands out compared to the other methods currently marked as retryable such asCompleteJob
,ResolveIncident
, which are idempotent such that an accidental retry simply has no effect. It is more likePublishMessage
orModifyProcessInstance
which can't always be retried.The text was updated successfully, but these errors were encountered: