From 74d3036c0bf5da088e734e47c7d63d170dd74ffa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Farkas?= Date: Tue, 11 Jul 2023 09:47:16 +0200 Subject: [PATCH] Elasticsearch: Fix using multiple indexes with comma separated string (#71284) * Revert "Elasticsearch: Use array of strings as index in backend queries (#67276)" This reverts commit d0ced39847c94a76047c2e79824f1ccb262e3a33. * updated tests (cherry picked from commit e17540bdcd298bc7605af5bf1e0bcddb87b7e8a0) --- pkg/tsdb/elasticsearch/client/client.go | 2 +- pkg/tsdb/elasticsearch/client/client_test.go | 12 ++++++------ pkg/tsdb/elasticsearch/snapshot_test.go | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkg/tsdb/elasticsearch/client/client.go b/pkg/tsdb/elasticsearch/client/client.go index c14ffd6a8b09..c96f51d396b6 100644 --- a/pkg/tsdb/elasticsearch/client/client.go +++ b/pkg/tsdb/elasticsearch/client/client.go @@ -207,7 +207,7 @@ func (c *baseClientImpl) createMultiSearchRequests(searchRequests []*SearchReque header: map[string]interface{}{ "search_type": "query_then_fetch", "ignore_unavailable": true, - "index": c.indices, + "index": strings.Join(c.indices, ","), }, body: searchReq, interval: searchReq.Interval, diff --git a/pkg/tsdb/elasticsearch/client/client_test.go b/pkg/tsdb/elasticsearch/client/client_test.go index ee218ed31e2b..530965fb4bfe 100644 --- a/pkg/tsdb/elasticsearch/client/client_test.go +++ b/pkg/tsdb/elasticsearch/client/client_test.go @@ -96,7 +96,7 @@ func TestClient_ExecuteMultisearch(t *testing.T) { jBody, err := simplejson.NewJson(bodyBytes) require.NoError(t, err) - assert.Equal(t, []string{"metrics-2018.05.15"}, jHeader.Get("index").MustStringArray()) + assert.Equal(t, "metrics-2018.05.15", jHeader.Get("index").MustString()) assert.True(t, jHeader.Get("ignore_unavailable").MustBool(false)) assert.Equal(t, "query_then_fetch", jHeader.Get("search_type").MustString()) assert.Empty(t, jHeader.Get("max_concurrent_shard_requests")) @@ -116,25 +116,25 @@ func TestClient_Index(t *testing.T) { name string indexInDatasource string patternInDatasource string - indexInRequest []string + indexInRequest string }{ { name: "empty string", indexInDatasource: "", patternInDatasource: "", - indexInRequest: []string{}, + indexInRequest: "", }, { name: "single string", indexInDatasource: "logs-*", patternInDatasource: "", - indexInRequest: []string{"logs-*"}, + indexInRequest: "logs-*", }, { name: "daily pattern", indexInDatasource: "[logs-]YYYY.MM.DD", patternInDatasource: "Daily", - indexInRequest: []string{"logs-2018.05.10", "logs-2018.05.11", "logs-2018.05.12"}, + indexInRequest: "logs-2018.05.10,logs-2018.05.11,logs-2018.05.12", }, } @@ -210,7 +210,7 @@ func TestClient_Index(t *testing.T) { jHeader, err := simplejson.NewJson(headerBytes) require.NoError(t, err) - assert.Equal(t, test.indexInRequest, jHeader.Get("index").MustStringArray()) + assert.Equal(t, test.indexInRequest, jHeader.Get("index").MustString()) }) } } diff --git a/pkg/tsdb/elasticsearch/snapshot_test.go b/pkg/tsdb/elasticsearch/snapshot_test.go index 312d068f0e19..ff021dbac8a3 100644 --- a/pkg/tsdb/elasticsearch/snapshot_test.go +++ b/pkg/tsdb/elasticsearch/snapshot_test.go @@ -82,7 +82,7 @@ func TestRequestSnapshots(t *testing.T) { queryHeader := []byte(` { "ignore_unavailable": true, - "index": ["testdb-2022.11.14"], + "index": "testdb-2022.11.14", "search_type": "query_then_fetch" } `)