{"record":{"id":"f074ca2ce6599ad5","repo":"thanos-io/thanos","slug":"nothing-to-verify-no-verifiers-and-verifierrepair","errorCode":null,"errorMessage":"nothing to verify. No verifiers and verifierRepairers registered","messagePattern":"nothing to verify\\. No verifiers and verifierRepairers registered","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/verifier/verify.go","lineNumber":135,"sourceCode":"\treturn &Manager{\n\t\tContext: Context{\n\t\t\tLogger:      logger,\n\t\t\tBkt:         bkt,\n\t\t\tBackupBkt:   backupBkt,\n\t\t\tFetcher:     fetcher,\n\t\t\tDeleteDelay: deleteDelay,\n\n\t\t\tmetrics: newVerifierMetrics(reg),\n\t\t},\n\t\tvs: vs,\n\t}\n}\n\n// Verify verifies matching blocks using registered list of Verifier and VerifierRepairer.\n// TODO(blotka): Wrap bucket with WrapWithMetrics and print metrics after each issue (e.g how many blocks where touched).\nfunc (m *Manager) Verify(ctx context.Context, idMatcher func(ulid.ULID) bool) error {\n\tif len(m.vs.Verifiers)+len(m.vs.VerifierRepairers) == 0 {\n\t\treturn errors.New(\"nothing to verify. No verifiers and verifierRepairers registered\")\n\t}\n\n\tlogger := log.With(m.Logger, \"verifiers\", strings.Join(append(m.vs.VerifiersIDs(), m.vs.VerifierRepairersIDs()...), \",\"))\n\tlevel.Info(logger).Log(\"msg\", \"Starting verify task\")\n\n\tfor _, v := range m.vs.Verifiers {\n\t\tvCtx := m.Context\n\t\tvCtx.Logger = log.With(logger, \"verifier\", v.IssueID())\n\t\tvCtx.Context = ctx\n\t\tif err := v.Verify(vCtx, idMatcher); err != nil {\n\t\t\treturn errors.Wrapf(err, \"verify %s\", v.IssueID())\n\t\t}\n\t}\n\tfor _, vr := range m.vs.VerifierRepairers {\n\t\tvCtx := m.Context\n\t\tvCtx.Context = ctx\n\t\tvCtx.Logger = log.With(logger, \"verifier\", vr.IssueID())\n\t\tif err := vr.VerifyRepair(vCtx, idMatcher, false); err != nil {","sourceCodeStart":117,"sourceCodeEnd":153,"githubUrl":"https://github.com/thanos-io/thanos/blob/35b8b991177def87ed52dcf10f9b6d87f07282c8/pkg/verifier/verify.go#L117-L153","documentation":"Manager.Verify requires at least one Verifier or VerifierRepairer to be registered; otherwise it returns this error because there would be nothing to run against the bucket. It is a guard against a misconfigured verify run.","triggerScenarios":"Calling Manager.Verify (thanos verify command) when the provided verifier registry (built from --id selection or supported issues) contains zero Verifiers and zero VerifierRepairers — e.g. SubstractByIDs removed all, or no issues supported/enabled.","commonSituations":"Passing only unknown IDs (after fixing the no-such-issue error, the filtered set became empty); running a verify build with all issues unsupported; wiring a Registry with no verifiers in custom code.","solutions":["Run verify without --id to use all registered issues, or pass at least one valid issue ID","Check which issue IDs your build supports and register them in the Registry","In custom code, ensure the Registry passed to NewManager contains verifiers"],"exampleFix":"// before\nn.VerifierRepairers = nil // all filtered out\n// after\nif len(m.vs.Verifiers)+len(m.vs.VerifierRepairers) == 0 {\n\treturn errors.New(\"nothing to verify. No verifiers and verifierRepairers registered\")\n}","handlingStrategy":"validation","validationCode":"if len(registry.Verifiers)+len(registry.VerifierRepairers) == 0 {\n\treturn errors.New(\"no verifiers registered; check --id or build support\")\n}","typeGuard":null,"tryCatchPattern":"if err := manager.Verify(ctx, matcher); err != nil {\n\tif strings.Contains(err.Error(), \"nothing to verify\") {\n\t\t// rerun without --id or with valid issue IDs\n\t}\n}","preventionTips":["Call Verify only with a non-empty registry","Don't filter --id down to zero valid entries","Register all supported issues in custom setups"],"tags":["cli","configuration","thanos"],"backgroundTag":"empty-result-set","analyzedSha":"35b8b991177def87ed52dcf10f9b6d87f07282c8","analyzedAt":"2026-09-07T01:49:59.689Z","contentChangedAt":"2026-09-07T01:49:59.689Z","schemaVersion":2},"datasetVersion":"2026-09-15T23:17:13.987Z"}