diff --git a/src/cmd/src/frontend.rs b/src/cmd/src/frontend.rs index b939f42c8a..fa36a99ed4 100644 --- a/src/cmd/src/frontend.rs +++ b/src/cmd/src/frontend.rs @@ -340,7 +340,7 @@ impl StartCommand { let mut opts = opts.component; opts.grpc.detect_server_addr(); let mut plugins = Plugins::new(); - plugins::setup_frontend_plugins(&mut plugins, &plugin_opts, &mut opts) + plugins::setup_frontend_plugins(&mut plugins, &plugin_opts, &opts) .await .context(error::StartFrontendSnafu)?; @@ -591,7 +591,7 @@ mod tests { #[tokio::test] async fn test_try_from_start_command_to_anymap() { - let mut fe_opts = frontend::frontend::FrontendOptions { + let fe_opts = frontend::frontend::FrontendOptions { http: HttpOptions { disable_dashboard: false, ..Default::default() @@ -601,7 +601,7 @@ mod tests { }; let mut plugins = Plugins::new(); - plugins::setup_frontend_plugins(&mut plugins, &[], &mut fe_opts) + plugins::setup_frontend_plugins(&mut plugins, &[], &fe_opts) .await .unwrap(); diff --git a/src/cmd/src/standalone.rs b/src/cmd/src/standalone.rs index f10da156a7..5f1235231f 100644 --- a/src/cmd/src/standalone.rs +++ b/src/cmd/src/standalone.rs @@ -350,10 +350,10 @@ impl StartCommand { .context(error::BuildCliSnafu)?; opts.grpc.detect_server_addr(); - let mut fe_opts = opts.frontend_options(); + let fe_opts = opts.frontend_options(); let dn_opts = opts.datanode_options(); - plugins::setup_frontend_plugins(&mut plugins, &plugin_opts, &mut fe_opts) + plugins::setup_frontend_plugins(&mut plugins, &plugin_opts, &fe_opts) .await .context(error::StartFrontendSnafu)?; @@ -625,13 +625,13 @@ 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 mut plugins = Plugins::new(); - plugins::setup_frontend_plugins(&mut plugins, &[], &mut fe_opts) + plugins::setup_frontend_plugins(&mut plugins, &[], &fe_opts) .await .unwrap(); diff --git a/src/plugins/src/frontend.rs b/src/plugins/src/frontend.rs index 2bb97efbfd..0d1c1af7b9 100644 --- a/src/plugins/src/frontend.rs +++ b/src/plugins/src/frontend.rs @@ -24,7 +24,7 @@ use crate::options::PluginOptions; pub async fn setup_frontend_plugins( plugins: &mut Plugins, _plugin_options: &[PluginOptions], - fe_opts: &mut FrontendOptions, + fe_opts: &FrontendOptions, ) -> Result<()> { if let Some(user_provider) = fe_opts.user_provider.as_ref() { let provider = diff --git a/tests-integration/tests/grpc.rs b/tests-integration/tests/grpc.rs index d591a52bdc..447d5afe50 100644 --- a/tests-integration/tests/grpc.rs +++ b/tests-integration/tests/grpc.rs @@ -27,10 +27,13 @@ use common_catalog::consts::MITO_ENGINE; use common_grpc::channel_manager::ClientTlsOption; use common_query::Output; use common_recordbatch::RecordBatches; +use common_runtime::Runtime; +use common_runtime::runtime::{BuilderBuild, RuntimeTrait}; use common_test_util::find_workspace_path; use otel_arrow_rust::proto::opentelemetry::arrow::v1::BatchArrowRecords; use otel_arrow_rust::proto::opentelemetry::arrow::v1::arrow_metrics_service_client::ArrowMetricsServiceClient; use servers::grpc::GrpcServerConfig; +use servers::grpc::builder::GrpcServerBuilder; use servers::http::prometheus::{ PromData, PromQueryResult, PromSeriesMatrix, PromSeriesVector, PrometheusJsonResponse, PrometheusResponse, @@ -991,6 +994,25 @@ pub async fn test_grpc_tls_config(store_type: StorageType) { let re = db.sql("show tables;").await; assert!(re.is_err()); } + // test grpc unsupported tls watch + { + let tls = TlsOption { + watch: true, + ..Default::default() + }; + let config = GrpcServerConfig { + max_recv_message_size: 1024, + max_send_message_size: 1024, + max_total_message_memory: 1024 * 1024 * 1024, + tls, + max_connection_age: None, + }; + let runtime = Runtime::builder().build().unwrap(); + let grpc_builder = + GrpcServerBuilder::new(config.clone(), runtime).with_tls_config(config.tls); + // ok but print warning + assert!(grpc_builder.is_ok()); + } let _ = fe_grpc_server.shutdown().await; }