{"record":{"id":"c76067b7fe08d2cf","repo":"SigNoz/signoz","slug":"internal-c76067","errorCode":"internal","errorMessage":"error processing filter for signal: %s","messagePattern":"error processing filter for signal: (.+?)","errorType":"error_code","errorClass":"errors.base","httpStatus":500,"severity":"error","filePath":"pkg/modules/quickfilter/implquickfilter/module.go","lineNumber":59,"sourceCode":"// GetSignalFilters returns quick filters for a specific signal in an organization.\nfunc (m *module) GetSignalFilters(ctx context.Context, orgID valuer.UUID, signal quickfiltertypes.Signal) (*quickfiltertypes.SignalFilters, error) {\n\tstoredFilter, err := m.store.GetBySignal(ctx, orgID, signal.StringValue())\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// If no filter exists for this signal, return empty filters with the requested signal\n\tif storedFilter == nil {\n\t\treturn &quickfiltertypes.SignalFilters{\n\t\t\tSignal:  signal,\n\t\t\tFilters: []v3.AttributeKey{},\n\t\t}, nil\n\t}\n\n\t// Convert stored filter to signal filter\n\tsignalFilter, err := quickfiltertypes.NewSignalFilterFromStorableQuickFilter(storedFilter)\n\tif err != nil {\n\t\treturn nil, errors.Wrapf(err, errors.TypeInternal, errors.CodeInternal, \"error processing filter for signal: %s\", storedFilter.Signal)\n\t}\n\n\treturn signalFilter, nil\n}\n\n// UpdateQuickFilters updates quick filters for a specific signal in an organization.\nfunc (module *module) UpdateQuickFilters(ctx context.Context, orgID valuer.UUID, signal quickfiltertypes.Signal, filters []v3.AttributeKey) error {\n\t// Validate each filter\n\tfor _, filter := range filters {\n\t\tif err := filter.Validate(); err != nil {\n\t\t\treturn errors.Newf(errors.TypeInvalidInput, errors.CodeInvalidInput, \"invalid filter: %v\", err)\n\t\t}\n\t}\n\n\t// Marshal filters to JSON\n\tfilterJSON, err := json.Marshal(filters)\n\tif err != nil {\n\t\treturn errors.Wrapf(err, errors.TypeInternal, errors.CodeInternal, \"error marshalling filters\")","sourceCodeStart":41,"sourceCodeEnd":77,"githubUrl":"https://github.com/SigNoz/signoz/blob/5069bf80b08f1f00d7e014eccc09902f9871004f/pkg/modules/quickfilter/implquickfilter/module.go#L41-L77","documentation":"GetSignalFilters loaded the stored quick filter for a single signal but NewSignalFilterFromStorableQuickFilter could not convert it. The stored row for that specific signal has a signal name or filter payload the current constructor rejects, and the error is wrapped with CodeInternal naming the failing signal.","triggerScenarios":"Calling GetSignalFilters(ctx, orgID, signal) where the stored row's Signal value or marshalled filter JSON does not match what NewSignalFilterFromStorableQuickFilter supports (renamed/removed signal, malformed JSON blob).","commonSituations":"Version upgrade that renamed signals or changed the storable filter format, rows written by an older release, corrupted payload after manual DB edits.","solutions":["Check the signal string you passed vs what is stored for that org (the error suffix names the stored signal)","Inspect the stored filter JSON for that (org, signal) row and fix or delete it","Align app versions so the writer's format matches the reader's constructor","Reset the org's quick filters for that signal via UpdateQuickFilters to rewrite a clean row"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":"try { return await getSignalFilters(orgId, signal); } catch (e) { if (/error processing filter for signal/.test(e.message)) { await resetSignalFilters(orgId, signal); return getDefaultFilters(signal); } throw e; }","preventionTips":["Keep client and server versions aligned so signal vocabularies match","Re-save (update) quick filters after major upgrades to rewrite rows in the current format"],"tags":["data-migration","schema-drift","quick-filters","internal-error","golang"],"backgroundTag":"stored-data-schema-mismatch","analyzedSha":"5069bf80b08f1f00d7e014eccc09902f9871004f","analyzedAt":"2026-08-28T06:22:12.824Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}