From c930ec0bac49ec29acf642d0860ba96db9774fb0 Mon Sep 17 00:00:00 2001 From: Paul Masurel Date: Mon, 30 Oct 2023 11:03:04 +0900 Subject: [PATCH] Bugfix on scroll id --- quickwit/quickwit-search/src/root.rs | 14 +++++++++++++- .../multi-indices/0002-muti_indices_scroll.yaml | 13 +++++++++++++ .../multi-indices/0003-multi_indices_aggs.yaml | 14 ++++++++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/quickwit/quickwit-search/src/root.rs b/quickwit/quickwit-search/src/root.rs index 78c4ebbfbe5..bbbe67f3ade 100644 --- a/quickwit/quickwit-search/src/root.rs +++ b/quickwit/quickwit-search/src/root.rs @@ -770,7 +770,19 @@ pub async fn root_search( check_all_index_metadata_found(&indexes_metadata[..], &search_request.index_id_patterns[..])?; if indexes_metadata.is_empty() { - return Ok(SearchResponse::default()); + // We go through root_search_aux instead of directly + // returning an empty response to make sure we generate + // a (pretty useless) scroll id if requested. + let mut search_response = root_search_aux( + searcher_context, + &HashMap::default(), + search_request, + Vec::new(), + cluster_client, + ) + .await?; + search_response.elapsed_time_micros = start_instant.elapsed().as_micros() as u64; + return Ok(search_response); } let index_uids = indexes_metadata diff --git a/quickwit/rest-api-tests/scenarii/es_compatibility/multi-indices/0002-muti_indices_scroll.yaml b/quickwit/rest-api-tests/scenarii/es_compatibility/multi-indices/0002-muti_indices_scroll.yaml index d601b62e318..877e59d8a14 100644 --- a/quickwit/rest-api-tests/scenarii/es_compatibility/multi-indices/0002-muti_indices_scroll.yaml +++ b/quickwit/rest-api-tests/scenarii/es_compatibility/multi-indices/0002-muti_indices_scroll.yaml @@ -65,3 +65,16 @@ json: store: scroll_id: _scroll_id status_code: 404 +--- +endpoint: "non-existing-index-*/_search" +params: + size: 1 + scroll: 30m +json: + query: + match_all: {} + sort: + - actor.id: + order: desc +expected: + $expect: "'_scroll_id' in val" diff --git a/quickwit/rest-api-tests/scenarii/es_compatibility/multi-indices/0003-multi_indices_aggs.yaml b/quickwit/rest-api-tests/scenarii/es_compatibility/multi-indices/0003-multi_indices_aggs.yaml index 992a5441d52..8773ccb7ca1 100644 --- a/quickwit/rest-api-tests/scenarii/es_compatibility/multi-indices/0003-multi_indices_aggs.yaml +++ b/quickwit/rest-api-tests/scenarii/es_compatibility/multi-indices/0003-multi_indices_aggs.yaml @@ -24,3 +24,17 @@ expected: - doc_count: 1 key: trinity sum_other_doc_count: 0 +--- +# Test date histogram aggregation +method: [POST] +endpoint: "noindexmatching-*/_search" +json: + query: { match_all: {} } + aggs: + logins: + terms: + field: "actor.login" + order: + _key: asc +expected: + $expect: "not 'aggregations' in val" \ No newline at end of file