From 111a67b73d21d8cf45253efdddb122b127018565 Mon Sep 17 00:00:00 2001 From: Shivank Anchal Date: Tue, 19 Aug 2025 17:15:02 +0530 Subject: [PATCH] fix: return proper error for incorrect function panic (#7708) (#8021) --- src/service/search/cluster/http.rs | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/service/search/cluster/http.rs b/src/service/search/cluster/http.rs index 63c8a61d5c..f9828f4cc8 100644 --- a/src/service/search/cluster/http.rs +++ b/src/service/search/cluster/http.rs @@ -177,14 +177,18 @@ pub async fn search( &sql.org_id, &stream_names, ); + ret_val .as_array() - .unwrap() + .ok_or(Error::Message("Expected array".to_string()))? .iter() .filter_map(|v| { - (!v.is_null()).then_some(flatten::flatten(v.clone()).unwrap()) + (!v.is_null()).then_some(flatten::flatten(v.clone()).map_err(|e| { + log::error!("Failed to flatten value: {}", e); + Error::Message(format!("Failed to flatten value: {e}")) + })) }) - .collect() + .collect::, _>>()? } else { json_rows .into_iter() @@ -200,9 +204,14 @@ pub async fn search( &sql.org_id, &stream_names, ); - (!ret_val.is_null()).then_some(flatten::flatten(ret_val).unwrap()) + (!ret_val.is_null()).then_some(flatten::flatten(ret_val).map_err( + |e| { + log::error!("Failed to flatten value: {}", e); + Error::Message(format!("Failed to flatten value: {e}")) + }, + )) }) - .collect() + .collect::, _>>()? } } None => json_rows