From bb801de9ed4b6e96ff2bb9ca07acfb38a65efcc6 Mon Sep 17 00:00:00 2001 From: "Grot (@grafanabot)" <43478413+grafanabot@users.noreply.github.com> Date: Sun, 5 Jun 2022 21:52:58 -0400 Subject: [PATCH] Prometheus: Fix resource call panic (#50216) (#50221) (cherry picked from commit 4aa5e7e69e767439c63e73c1d5a099700272351f) Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com> --- pkg/tsdb/prometheus/resource/resource.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/tsdb/prometheus/resource/resource.go b/pkg/tsdb/prometheus/resource/resource.go index 9d9ca4a2154..5ff90575264 100644 --- a/pkg/tsdb/prometheus/resource/resource.go +++ b/pkg/tsdb/prometheus/resource/resource.go @@ -58,7 +58,11 @@ func (r *Resource) fetch(ctx context.Context, client *client.Client, req *backen resp, err := client.QueryResource(ctx, req.Method, u.Path, u.Query()) if err != nil { - return resp.StatusCode, nil, err + statusCode := 500 + if resp != nil { + statusCode = resp.StatusCode + } + return statusCode, nil, err } defer resp.Body.Close() //nolint (we don't care about the error being returned by resp.Body.Close())