fix: add use_cache & clear_cache for _multi_search_stream (#9249)

This commit is contained in:
Loakesh Indiran
2025-11-23 19:38:25 +05:30
committed by GitHub
parent 264316516d
commit 1e7af6372a
2 changed files with 27 additions and 6 deletions
@@ -48,18 +48,20 @@ use crate::{
auth::UserEmail,
functions,
http::{
get_dashboard_info_from_request, get_enable_align_histogram_from_request,
get_fallback_order_by_col_from_request, get_or_create_trace_id,
get_search_event_context_from_request, get_search_type_from_request,
get_stream_type_from_request,
get_clear_cache_from_request, get_dashboard_info_from_request,
get_enable_align_histogram_from_request, get_fallback_order_by_col_from_request,
get_or_create_trace_id, get_search_event_context_from_request,
get_search_type_from_request, get_stream_type_from_request,
get_use_cache_from_request,
},
stream::get_settings_max_query_range,
},
},
handler::http::request::search::{Headers, error_utils::map_error_to_http_response},
service::{
search as SearchService, search::streaming::process_search_stream_request_multi,
self_reporting::report_request_usage_stats, setup_tracing_with_trace_id,
search::{self as SearchService, streaming::process_search_stream_request_multi},
self_reporting::report_request_usage_stats,
setup_tracing_with_trace_id,
},
};
@@ -1270,8 +1272,20 @@ pub async fn search_multi_stream(
let mut queries = multi_req.to_query_req();
// Set each of the sql queries with use_cache from query params
let clear_cache = get_clear_cache_from_request(&query);
#[allow(unused_assignments)]
let mut use_cache = get_use_cache_from_request(&query) && !clear_cache;
// Disable cache temporarily for `multi_stream_search`
// TODO: fix cache
use_cache = false;
// Before making any requests, first check the sql expressions can be decoded correctly
for req in queries.iter_mut() {
// Update `use_cache` & `clear_cache` from query params
req.use_cache = use_cache;
req.clear_cache = clear_cache;
if let Err(e) = req.decode() {
#[cfg(feature = "enterprise")]
let error_message = e.to_string();
@@ -216,6 +216,13 @@ const useHttpStreaming = () => {
if (clear_cache)
url += `&clear_cache=${clear_cache}`;
if (meta?.is_ui_histogram) url += `&is_ui_histogram=${meta?.is_ui_histogram}`;
if(type === "histogram") {
let is_multi_stream_search = false;
if (queryReq.query?.sql.indexOf(' UNION ALL ') !== -1) is_multi_stream_search = true;
url += `&is_multi_stream_search=${is_multi_stream_search}`;
}
} else if (type === "values") {
const fieldsString = meta?.fields.join(",");
url = `/_values_stream`;