diff --git a/src/cmd/src/frontend.rs b/src/cmd/src/frontend.rs index f744c03ea5..f665be62a4 100644 --- a/src/cmd/src/frontend.rs +++ b/src/cmd/src/frontend.rs @@ -187,8 +187,8 @@ impl StartCommand { Ok(Options::Frontend(Box::new(opts))) } - async fn build(self, mut opts: FrontendOptions) -> Result { - let plugins = plugins::setup_frontend_plugins(&mut opts) + async fn build(self, opts: FrontendOptions) -> Result { + let plugins = plugins::setup_frontend_plugins(&opts) .await .context(StartFrontendSnafu)?; @@ -303,7 +303,7 @@ mod tests { #[tokio::test] async fn test_try_from_start_command_to_anymap() { - let mut fe_opts = FrontendOptions { + let fe_opts = FrontendOptions { http: HttpOptions { disable_dashboard: false, ..Default::default() @@ -312,7 +312,7 @@ mod tests { ..Default::default() }; - let plugins = plugins::setup_frontend_plugins(&mut fe_opts).await.unwrap(); + let plugins = plugins::setup_frontend_plugins(&fe_opts).await.unwrap(); let provider = plugins.get::().unwrap(); let result = provider diff --git a/src/cmd/src/standalone.rs b/src/cmd/src/standalone.rs index 6b313ffa6e..8bc18d4bca 100644 --- a/src/cmd/src/standalone.rs +++ b/src/cmd/src/standalone.rs @@ -316,8 +316,8 @@ impl StartCommand { #[allow(unused_variables)] #[allow(clippy::diverging_sub_expression)] async fn build(self, opts: MixOptions) -> Result { - let mut fe_opts = opts.frontend; - let fe_plugins = plugins::setup_frontend_plugins(&mut fe_opts) + let fe_opts = opts.frontend; + let fe_plugins = plugins::setup_frontend_plugins(&fe_opts) .await .context(StartFrontendSnafu)?; @@ -421,12 +421,12 @@ mod tests { #[tokio::test] async fn test_try_from_start_command_to_anymap() { - let mut fe_opts = FrontendOptions { + let fe_opts = FrontendOptions { user_provider: Some("static_user_provider:cmd:test=test".to_string()), ..Default::default() }; - let plugins = plugins::setup_frontend_plugins(&mut fe_opts).await.unwrap(); + let plugins = plugins::setup_frontend_plugins(&fe_opts).await.unwrap(); let provider = plugins.get::().unwrap(); let result = provider diff --git a/src/common/error/src/ext.rs b/src/common/error/src/ext.rs index 39ef12b0bf..690ea23dc3 100644 --- a/src/common/error/src/ext.rs +++ b/src/common/error/src/ext.rs @@ -40,7 +40,7 @@ pub trait ErrorExt: StackError { Self: Sized, { match self.status_code() { - StatusCode::Unknown | StatusCode::Unexpected | StatusCode::Internal => { + StatusCode::Unknown | StatusCode::Internal => { // masks internal error from end user format!("Internal error: {}", self.status_code() as u32) } diff --git a/src/common/procedure/src/local/runner.rs b/src/common/procedure/src/local/runner.rs index e58639b18e..0b50f4497f 100644 --- a/src/common/procedure/src/local/runner.rs +++ b/src/common/procedure/src/local/runner.rs @@ -1047,6 +1047,6 @@ mod tests { // Run the runner and execute the procedure. runner.run().await; let err = meta.state().error().unwrap().output_msg(); - assert!(err.contains("Internal error"), "{err}"); + assert!(err.contains("subprocedure failed"), "{err}"); } } diff --git a/src/operator/src/error.rs b/src/operator/src/error.rs index cb9963ced7..07c730887b 100644 --- a/src/operator/src/error.rs +++ b/src/operator/src/error.rs @@ -556,11 +556,12 @@ impl ErrorExt for Error { Error::TableNotFound { .. } => StatusCode::TableNotFound, - Error::JoinTask { .. } - | Error::BuildParquetRecordBatchStream { .. } - | Error::ReadDfRecordBatch { .. } + Error::JoinTask { .. } => StatusCode::Internal, + + Error::BuildParquetRecordBatchStream { .. } | Error::BuildFileStream { .. } | Error::WriteStreamToFile { .. } + | Error::ReadDfRecordBatch { .. } | Error::Unexpected { .. } => StatusCode::Unexpected, Error::Catalog { source, .. } => source.status_code(), diff --git a/src/plugins/src/frontend.rs b/src/plugins/src/frontend.rs index 7ed8e96ecd..f6849b8e3d 100644 --- a/src/plugins/src/frontend.rs +++ b/src/plugins/src/frontend.rs @@ -18,7 +18,7 @@ use frontend::error::{IllegalAuthConfigSnafu, Result}; use frontend::frontend::FrontendOptions; use snafu::ResultExt; -pub async fn setup_frontend_plugins(opts: &mut FrontendOptions) -> Result { +pub async fn setup_frontend_plugins(opts: &FrontendOptions) -> Result { let plugins = Plugins::new(); if let Some(user_provider) = opts.user_provider.as_ref() {