{"record":{"id":"9c6455e052a4433c","repo":"thanos-io/thanos","slug":"fetch-series-for-s-s","errorCode":null,"errorMessage":"fetch series for %s %s","messagePattern":"fetch series for (.+?) (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/store/proxy_merge.go","lineNumber":602,"sourceCode":"\tvar cancel context.CancelFunc\n\n\tstoreID, storeAddr := storeInfo(st)\n\tseriesCtx := grpc_opentracing.ClientAddContextTags(ctx, opentracing.Tags{\n\t\t\"target\": storeAddr,\n\t})\n\n\tseriesCtx, cancel = context.WithCancel(seriesCtx)\n\n\tshardMatcher := shardInfo.Matcher(buffers)\n\n\tapplySharding := shardInfo != nil && !st.SupportsSharding()\n\tif applySharding {\n\t\tlevel.Debug(logger).Log(\"msg\", \"Applying series sharding in the proxy since there is not support in the underlying store\", \"store\", st.String())\n\t}\n\n\tcl, err := st.Series(seriesCtx, req)\n\tif err != nil {\n\t\terr = errors.Wrapf(err, \"fetch series for %s %s\", storeID, st)\n\t\tcancel()\n\t\treturn nil, err\n\t}\n\n\tvar labelsToRemove map[string]struct{}\n\tif !st.SupportsWithoutReplicaLabels() && len(req.WithoutReplicaLabels) > 0 {\n\t\tlevel.Warn(logger).Log(\"msg\", \"detecting store that does not support without replica label setting. \"+\n\t\t\t\"Falling back to eager retrieval with additional sort. Make sure your storeAPI supports it to speed up your queries\", \"store\", st.String())\n\t\tretrievalStrategy = EagerRetrieval\n\n\t\tlabelsToRemove = make(map[string]struct{})\n\t\tfor _, replicaLabel := range req.WithoutReplicaLabels {\n\t\t\tlabelsToRemove[replicaLabel] = struct{}{}\n\t\t}\n\t}\n\n\tswitch retrievalStrategy {\n\tcase LazyRetrieval:","sourceCodeStart":584,"sourceCodeEnd":620,"githubUrl":"https://github.com/thanos-io/thanos/blob/35b8b991177def87ed52dcf10f9b6d87f07282c8/pkg/store/proxy_merge.go#L584-L620","documentation":"The initial Series RPC to a store failed before any streaming began, so no async response set could be created for that store. The wrapped error carries the store identity and address; depending on the partial-response strategy it either fails the query or is emitted as a warning series while other stores' results continue.","triggerScenarios":"Thrown at pkg/store/proxy_merge.go:602 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the failing store is running and its StoreAPI endpoint is correct","Check gRPC TLS, timeouts and service discovery for the query-to-store path","Inspect store logs for why the Series call was rejected (e.g. cancel, invalid request)","Retry once the store is healthy; combine with partial-response mode"],"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"}