From c8a0ebe0e8fede26dc250d424d7e4ee8dbf64c12 Mon Sep 17 00:00:00 2001 From: Andrew Hackmann <5140848+bossinc@users.noreply.github.com> Date: Mon, 11 Sep 2023 09:02:44 -0500 Subject: [PATCH] Azure Monitor/body close logs an error bug (#74632) on body close causes logs an error even if no error. also changed to warning similar to the rest of grafana --- pkg/tsdb/azuremonitor/azuremonitor.go | 5 +++-- .../loganalytics/azure-log-analytics-datasource.go | 12 +++++++----- .../azuremonitor/metrics/azuremonitor-datasource.go | 10 ++++++---- .../resourcegraph/azure-resource-graph-datasource.go | 10 ++++++---- 4 files changed, 22 insertions(+), 15 deletions(-) diff --git a/pkg/tsdb/azuremonitor/azuremonitor.go b/pkg/tsdb/azuremonitor/azuremonitor.go index a871167d9aa..a97553dc411 100644 --- a/pkg/tsdb/azuremonitor/azuremonitor.go +++ b/pkg/tsdb/azuremonitor/azuremonitor.go @@ -393,8 +393,9 @@ func parseSubscriptions(res *http.Response) ([]string, error) { return nil, err } defer func() { - err := res.Body.Close() - backend.Logger.Error("Failed to close response body", "err", err) + if err := res.Body.Close(); err != nil { + backend.Logger.Warn("Failed to close response body", "err", err) + } }() result := make([]string, len(target.Value)) diff --git a/pkg/tsdb/azuremonitor/loganalytics/azure-log-analytics-datasource.go b/pkg/tsdb/azuremonitor/loganalytics/azure-log-analytics-datasource.go index 21a9dab8846..b136cf6c3ae 100644 --- a/pkg/tsdb/azuremonitor/loganalytics/azure-log-analytics-datasource.go +++ b/pkg/tsdb/azuremonitor/loganalytics/azure-log-analytics-datasource.go @@ -288,8 +288,9 @@ func (e *AzureLogAnalyticsDatasource) executeQuery(ctx context.Context, query *A } defer func() { - err := res.Body.Close() - backend.Logger.Error("Failed to close response body", "err", err) + if err := res.Body.Close(); err != nil { + backend.Logger.Warn("Failed to close response body", "err", err) + } }() logResponse, err := e.unmarshalResponse(res) @@ -563,7 +564,7 @@ func getCorrelationWorkspaces(ctx context.Context, baseResource string, resource defer func() { if err := res.Body.Close(); err != nil { - backend.Logger.Error("Failed to close response body", "err", err) + backend.Logger.Warn("Failed to close response body", "err", err) } }() @@ -666,8 +667,9 @@ func (e *AzureLogAnalyticsDatasource) unmarshalResponse(res *http.Response) (Azu return AzureLogAnalyticsResponse{}, err } defer func() { - err := res.Body.Close() - backend.Logger.Error("Failed to close response body", "err", err) + if err := res.Body.Close(); err != nil { + backend.Logger.Warn("Failed to close response body", "err", err) + } }() if res.StatusCode/100 != 2 { diff --git a/pkg/tsdb/azuremonitor/metrics/azuremonitor-datasource.go b/pkg/tsdb/azuremonitor/metrics/azuremonitor-datasource.go index 3e1888c104e..f99749df328 100644 --- a/pkg/tsdb/azuremonitor/metrics/azuremonitor-datasource.go +++ b/pkg/tsdb/azuremonitor/metrics/azuremonitor-datasource.go @@ -265,8 +265,9 @@ func (e *AzureMonitorDatasource) retrieveSubscriptionDetails(cli *http.Client, c } defer func() { - err := res.Body.Close() - backend.Logger.Error("Failed to close response body", "err", err) + if err := res.Body.Close(); err != nil { + backend.Logger.Warn("Failed to close response body", "err", err) + } }() body, err := io.ReadAll(res.Body) @@ -317,8 +318,9 @@ func (e *AzureMonitorDatasource) executeQuery(ctx context.Context, query *types. } defer func() { - err := res.Body.Close() - backend.Logger.Error("Failed to close response body", "err", err) + if err := res.Body.Close(); err != nil { + backend.Logger.Warn("Failed to close response body", "err", err) + } }() data, err := e.unmarshalResponse(res) diff --git a/pkg/tsdb/azuremonitor/resourcegraph/azure-resource-graph-datasource.go b/pkg/tsdb/azuremonitor/resourcegraph/azure-resource-graph-datasource.go index 7b512f1a521..dbb0907dd43 100644 --- a/pkg/tsdb/azuremonitor/resourcegraph/azure-resource-graph-datasource.go +++ b/pkg/tsdb/azuremonitor/resourcegraph/azure-resource-graph-datasource.go @@ -167,8 +167,9 @@ func (e *AzureResourceGraphDatasource) executeQuery(ctx context.Context, query * } defer func() { - err := res.Body.Close() - backend.Logger.Error("Failed to close response body", "err", err) + if err := res.Body.Close(); err != nil { + backend.Logger.Warn("Failed to close response body", "err", err) + } }() argResponse, err := e.unmarshalResponse(res) @@ -221,8 +222,9 @@ func (e *AzureResourceGraphDatasource) unmarshalResponse(res *http.Response) (Az } defer func() { - err := res.Body.Close() - backend.Logger.Error("Failed to close response body", "err", err) + if err := res.Body.Close(); err != nil { + backend.Logger.Warn("Failed to close response body", "err", err) + } }() if res.StatusCode/100 != 2 {