mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-04 08:09:27 +00:00
fix: add use_cache & clear_cache for _multi_search_stream (#9249)
This commit is contained in:
@@ -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`;
|
||||
|
||||
Reference in New Issue
Block a user