{"record":{"id":"f990dba7526494ac","repo":"dapr/dapr","slug":"w-actor-hosting-is-suspended-no-actor-state-sto","errorCode":null,"errorMessage":"%w: actor hosting is suspended: no actor state store configured","messagePattern":"%w: actor hosting is suspended: no actor state store configured","errorType":"exception","errorClass":"actorerrors.ErrCreatingActor","httpStatus":null,"severity":"critical","filePath":"pkg/actors/table/table.go","lineNumber":186,"sourceCode":"func (t *table) IsActorTypeHosted(actorType string) bool {\n\tif t.suspended.Load() {\n\t\treturn false\n\t}\n\t_, ok := t.factories.Load(actorType)\n\treturn ok\n}\n\nfunc (t *table) ActorExists(actorType, actorID string) bool {\n\tv, ok := t.factories.Load(actorType)\n\tif !ok {\n\t\treturn false\n\t}\n\treturn v.(targets.Factory).Exists(actorID)\n}\n\nfunc (t *table) GetOrCreate(actorType, actorID string) (targets.Interface, error) {\n\tif t.suspended.Load() {\n\t\treturn nil, fmt.Errorf(\"%w: actor hosting is suspended: no actor state store configured\", actorerrors.ErrCreatingActor)\n\t}\n\n\tfactory, ok := t.factories.Load(actorType)\n\tif !ok {\n\t\treturn nil, fmt.Errorf(\"%w: actor type %s not registered\", actorerrors.ErrCreatingActor, actorType)\n\t}\n\n\treturn factory.(targets.Factory).GetOrCreate(actorID), nil\n}\n\nfunc (t *table) RegisterActorTypes(opts RegisterActorTypeOptions) {\n\tif len(opts.Factories) == 0 {\n\t\treturn\n\t}\n\n\tif opts := opts.HostOptions; opts != nil {\n\t\tt.entityConfigs = opts.EntityConfigs\n\t}","sourceCodeStart":168,"sourceCodeEnd":204,"githubUrl":"https://github.com/dapr/dapr/blob/74ad41702745709bb15fe2114ff693b8c59bc3cc/pkg/actors/table/table.go#L168-L204","documentation":"The actor table sets a suspended flag when no actor state store is configured. GetOrCreate then fails with the sentinel actorerrors.ErrCreatingActor wrapped with this message. Every actor activation (method call, timer, reminder) on the suspended table returns this error until a state store initializes.","triggerScenarios":"Actor method invocation, timer, or reminder delivery when the runtime has no state store component for actors: the component is missing, failed to initialize, or its scopes exclude the app.","commonSituations":"State store YAML not applied or applied to the wrong namespace. Redis (or the backing store) down when the sidecar started, so component init failed. Teams enable actors without knowing a state store is required.","solutions":["Deploy a state store component (category state.store, for example Redis) in the app's namespace.","Check sidecar logs and dapr components output: the component must initialize without errors.","If the component uses scopes, add the app-id to the allowed scopes.","Restart the sidecar after the fix so the table leaves the suspended state."],"exampleFix":"# component.yaml\napiVersion: dapr.io/v1alpha1\nkind: Component\nmetadata:\n  name: statestore\nspec:\n  type: state.redis\n  version: v1\n  metadata:\n    - name: redisHost\n      value: redis-master:6379","handlingStrategy":"validation","validationCode":"// Readiness gate before actor traffic: the sidecar must list an initialized state store.\nfunc actorStateStoreReady(sidecarURL string) bool {\n\tresp, err := http.Get(sidecarURL + \"/v1.0/components\")\n\tif err != nil {\n\t\treturn false\n\t}\n\tdefer resp.Body.Close()\n\tvar comps []struct {\n\t\tType string `json:\"type\"`\n\t}\n\tif json.NewDecoder(resp.Body).Decode(&comps) != nil {\n\t\treturn false\n\t}\n\tfor _, c := range comps {\n\t\tif strings.HasPrefix(c.Type, \"state.\") {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}","typeGuard":null,"tryCatchPattern":"if err != nil && errors.Is(err, actorerrors.ErrCreatingActor) && strings.Contains(err.Error(), \"suspended\") { stop actor traffic, deploy and initialize a state store component, restart the sidecar; do not retry until the config changes }.","preventionTips":["Deploy and verify the state store component before the first actor call in each environment.","Gate readiness on the components endpoint listing a state store.","Alert on component initialization failures in sidecar logs."],"tags":["go","dapr","actors","state-store","configuration","runtime"],"backgroundTag":null,"analyzedSha":"74ad41702745709bb15fe2114ff693b8c59bc3cc","analyzedAt":"2026-08-16T04:22:26.543Z","schemaVersion":2},"datasetVersion":"2026-08-16T08:17:34.114Z"}