dapr/dapr · error
failed to load workflow state: %w
Error message
failed to load workflow state: %w
What it means
Error "failed to load workflow state: %w" thrown in dapr/dapr.
Source
Thrown at pkg/runtime/wfengine/state/state.go:821
for i := range metadata.GetSigningCertificateLength() {
bulkReq.Keys[n] = getMultiEntryKeyName(sigcertKeyPrefix, i)
n++
}
for i := range metadata.GetExternalSigningCertificateLength() {
bulkReq.Keys[n] = getMultiEntryKeyName(extSigCertKeyPrefix, i)
n++
}
for i := range metadata.GetSignatureLength() {
bulkReq.Keys[n] = getMultiEntryKeyName(signatureKeyPrefix, i)
n++
}
// Perform the request
bulkRes, err := state.GetBulk(ctx, bulkReq, false)
if err != nil {
return nil, fmt.Errorf("failed to load workflow state: %w", err)
}
defer func() {
// TODO: @joshvanl: remove in v1.16 where we will no longer have legacy
// state parsing issues.
if rerr := recover(); rerr != nil {
wfLogger.Warnf("Found legacy workflow state, ignoring and overwriting with new storage API: %s; %v", actorID, rerr)
}
}()
// Parse responses. If metadata declares N inbox or history entries but
// the bulk GET returns nil Data for any of them, return an error so the
// caller can retry the load. Silently skipping was the previous
// behavior, but under state-store chaos (transient read failures) it
// produces a workflow runtime state with truncated history; durabletask
// then reports name=(unknown)/events=0 and the workflow strands on the
// next save, which clobbers the metadata HistoryLength.
var key stringView on GitHub (pinned to 74ad417027)
When it happens
Trigger: Thrown at pkg/runtime/wfengine/state/state.go:821 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of dapr/dapr@74ad417027 (2026-08-16).
Data as JSON: /api/errors/c1dc295019295f7a.
Report an issue: GitHub.