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 }