You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using the Go client (versions 0.18.5 and 0.19.1), a call to Client.DescribeWorkflowExecution for a non-existent workflow ID has a one minute delay before returning a CodeNotFound error.
if target := (*s.EntityNotExistsError)(nil); errors.As(err, &target) {
return false
}
The delay is avoided when the isServiceTransientError function is updated to include:
if status := yarpcerrors.FromError(err); status != nil && status.Code() == yarpcerrors.CodeNotFound {
return false
}
Maybe this is a symptom of a general problem where errors returned via Thrift are not mapped correctly to Cadence errors.
Is my understanding correct? Is there any way to avoid a delay in the EntityNotExistsError case without short-circuiting retries for real transient errors?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Using the Go client (versions 0.18.5 and 0.19.1), a call to
Client.DescribeWorkflowExecution
for a non-existent workflow ID has a one minute delay before returning aCodeNotFound
error.The delay is caused by retries that should have been avoided by this code in the
isServiceTransientError
function (https://github.com/uber-go/cadence-client/blob/master/internal/internal_retry.go#L92-L94)The delay is avoided when the
isServiceTransientError
function is updated to include:Maybe this is a symptom of a general problem where errors returned via Thrift are not mapped correctly to Cadence errors.
Is my understanding correct? Is there any way to avoid a delay in the EntityNotExistsError case without short-circuiting retries for real transient errors?
Beta Was this translation helpful? Give feedback.
All reactions