From 9c5e459f0bcb83132f9de4d1ce38df9e7d5c77e7 Mon Sep 17 00:00:00 2001 From: "Grot (@grafanabot)" <43478413+grafanabot@users.noreply.github.com> Date: Mon, 11 Apr 2022 02:45:04 -0600 Subject: [PATCH] bugfix: fix proper type of setting maxConcurrentShardRequests (#47120) (#47548) (cherry picked from commit c0104db72d09ecc12a07f4d2b9e7b192413e2cd5) Co-authored-by: Aleksandr Stepanov --- pkg/tsdb/elasticsearch/elasticsearch.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pkg/tsdb/elasticsearch/elasticsearch.go b/pkg/tsdb/elasticsearch/elasticsearch.go index 48cb5da2964..2f2b2ca8d8f 100644 --- a/pkg/tsdb/elasticsearch/elasticsearch.go +++ b/pkg/tsdb/elasticsearch/elasticsearch.go @@ -5,6 +5,7 @@ import ( "encoding/json" "errors" "fmt" + "strconv" "github.com/Masterminds/semver" "github.com/grafana/grafana-plugin-sdk-go/backend" @@ -95,8 +96,17 @@ func newInstanceSettings() datasource.InstanceFactoryFunc { timeInterval = "" } - maxConcurrentShardRequests, ok := jsonData["maxConcurrentShardRequests"].(float64) - if !ok { + var maxConcurrentShardRequests float64 + + switch v := jsonData["maxConcurrentShardRequests"].(type) { + case float64: + maxConcurrentShardRequests = v + case string: + maxConcurrentShardRequests, err = strconv.ParseFloat(v, 64) + if err != nil { + maxConcurrentShardRequests = 256 + } + default: maxConcurrentShardRequests = 256 }