{"record":{"id":"00fc742ada9502ed","repo":"thanos-io/thanos","slug":"invalid-ulid-found-in-id-flag","errorCode":null,"errorMessage":"invalid ULID found in --id flag","messagePattern":"invalid ULID found in --id flag","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/thanos/tools_bucket.go","lineNumber":398,"sourceCode":"\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\t// We ignore any block that has the deletion marker file.\n\t\tfilters := []block.MetadataFilter{block.NewIgnoreDeletionMarkFilter(logger, insBkt, 0, block.FetcherConcurrency)}\n\t\tbaseBlockIDsFetcher := block.NewConcurrentLister(logger, insBkt)\n\t\tfetcher, err := block.NewMetaFetcher(logger, block.FetcherConcurrency, insBkt, baseBlockIDsFetcher, \"\", extprom.WrapRegistererWithPrefix(extpromPrefix, reg), filters)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tvar idMatcher func(ulid.ULID) bool = nil\n\t\tif len(tbc.ids) > 0 {\n\t\t\tidsMap := map[string]struct{}{}\n\t\t\tfor _, bid := range tbc.ids {\n\t\t\t\tid, err := ulid.Parse(bid)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn errors.Wrap(err, \"invalid ULID found in --id flag\")\n\t\t\t\t}\n\t\t\t\tidsMap[id.String()] = struct{}{}\n\t\t\t}\n\n\t\t\tidMatcher = func(id ulid.ULID) bool {\n\t\t\t\tif _, ok := idsMap[id.String()]; !ok {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\n\t\tv := verifier.NewManager(reg, logger, insBkt, backupBkt, fetcher, time.Duration(*deleteDelay), r)\n\t\tif tbc.repair {\n\t\t\treturn v.VerifyAndRepair(context.Background(), idMatcher)\n\t\t}\n\n\t\treturn v.Verify(context.Background(), idMatcher)","sourceCodeStart":380,"sourceCodeEnd":416,"githubUrl":"https://github.com/thanos-io/thanos/blob/35b8b991177def87ed52dcf10f9b6d87f07282c8/cmd/thanos/tools_bucket.go#L380-L416","documentation":"A ulid.Parse failure on one of the block IDs passed via --id to a bucket inspect/verify command: the string is not a valid 26-character ULID (wrong length, non-canonical Crockford base32 characters). The offending value from the flag is echoed in the message.","triggerScenarios":"Thrown at cmd/thanos/tools_bucket.go:398 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Copy the full 26-character ULID from block listings","Check for truncation or extra whitespace in the flag","Use `thanos tools bucket ls` to get valid IDs"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"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"}