{"record":{"id":"8ee3c1cc9de8e958","repo":"thanos-io/thanos","slug":"lookup-label-value","errorCode":null,"errorMessage":"lookup label value","messagePattern":"lookup label value","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/store/bucket.go","lineNumber":3535,"sourceCode":"\t}\n\treturn nil\n}\n\nfunc (b *blockSeriesClient) CloseSend() error {\n\treturn nil\n}\n\n// LookupLabelsSymbols allows populates label set strings from symbolized label set.\nfunc (r *bucketIndexReader) LookupLabelsSymbols(ctx context.Context, symbolized []symbolizedLabel, b *labels.Builder) error {\n\tb.Reset(labels.EmptyLabels())\n\tfor _, s := range symbolized {\n\t\tln, err := r.dec.LookupSymbol(ctx, s.name)\n\t\tif err != nil {\n\t\t\treturn errors.Wrap(err, \"lookup label name\")\n\t\t}\n\t\tlv, err := r.dec.LookupSymbol(ctx, s.value)\n\t\tif err != nil {\n\t\t\treturn errors.Wrap(err, \"lookup label value\")\n\t\t}\n\t\tb.Set(ln, lv)\n\t}\n\treturn nil\n}\n\n// decodeSeriesForTime decodes a series entry from the given byte slice decoding only chunk metas that are within given min and max time.\n// If skipChunks is specified decodeSeriesForTime does not return any chunks, but only labels and only if at least single chunk is within time range.\n// decodeSeriesForTime returns false, when there are no series data for given time range.\nfunc decodeSeriesForTime(b []byte, lset *[]symbolizedLabel, chks *[]chunks.Meta, skipChunks bool, selectMint, selectMaxt int64) (ok bool, err error) {\n\t*lset = (*lset)[:0]\n\t*chks = (*chks)[:0]\n\n\td := encoding.Decbuf{B: b}\n\n\t// Read labels without looking up symbols.\n\tk := d.Uvarint()\n\tfor i := 0; i < k; i++ {","sourceCodeStart":3517,"sourceCodeEnd":3553,"githubUrl":"https://github.com/thanos-io/thanos/blob/35b8b991177def87ed52dcf10f9b6d87f07282c8/pkg/store/bucket.go#L3517-L3553","documentation":"Raised in bucketIndexReader.LookupLabelsSymbols when the block's symbol table cannot resolve a series label's value string for the given reference. It indicates index corruption or a symbol table that does not cover the referenced offset, so the label set cannot be materialized and series construction for that block fails.","triggerScenarios":"Thrown at pkg/store/bucket.go:3535 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify block index integrity (promtool tsx / block verification) for the affected block","Re-download or re-fetch the block's index file from object storage","Exclude or repair the corrupted block; check for truncated uploads"],"exampleFix":null,"handlingStrategy":"try-catch","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"}