From 49a936e2e112ab92b8040815c8a074dd3661a357 Mon Sep 17 00:00:00 2001 From: LFC <990479+MichaelScofield@users.noreply.github.com> Date: Tue, 6 May 2025 11:27:15 +0800 Subject: [PATCH] refactor: remove the "mode" configuration item completely (#6042) --- src/cmd/src/datanode.rs | 3 --- src/cmd/src/frontend.rs | 4 ---- src/cmd/src/standalone.rs | 4 ---- src/common/config/src/config.rs | 18 +-------------- src/common/config/src/lib.rs | 10 --------- src/datanode/src/datanode.rs | 21 ++++++----------- src/datanode/src/greptimedb_telemetry.rs | 25 ++++++++------------- src/frontend/src/server.rs | 13 ++++------- src/servers/src/lib.rs | 2 -- src/servers/tests/http/http_handler_test.rs | 2 -- 10 files changed, 21 insertions(+), 81 deletions(-) diff --git a/src/cmd/src/datanode.rs b/src/cmd/src/datanode.rs index 1cd270aa4c..2a422064d7 100644 --- a/src/cmd/src/datanode.rs +++ b/src/cmd/src/datanode.rs @@ -281,7 +281,6 @@ mod tests { common_telemetry::init_default_ut_logging(); let mut file = create_named_temp_file(); let toml_str = r#" - mode = "distributed" enable_memory_catalog = false node_id = 42 @@ -308,7 +307,6 @@ mod tests { fn test_read_from_config_file() { let mut file = create_named_temp_file(); let toml_str = r#" - mode = "distributed" enable_memory_catalog = false node_id = 42 @@ -474,7 +472,6 @@ mod tests { fn test_config_precedence_order() { let mut file = create_named_temp_file(); let toml_str = r#" - mode = "distributed" enable_memory_catalog = false node_id = 42 rpc_addr = "127.0.0.1:3001" diff --git a/src/cmd/src/frontend.rs b/src/cmd/src/frontend.rs index 256c565eee..408d5831ad 100644 --- a/src/cmd/src/frontend.rs +++ b/src/cmd/src/frontend.rs @@ -448,8 +448,6 @@ mod tests { fn test_read_from_config_file() { let mut file = create_named_temp_file(); let toml_str = r#" - mode = "distributed" - [http] addr = "127.0.0.1:4000" timeout = "0s" @@ -538,8 +536,6 @@ mod tests { fn test_config_precedence_order() { let mut file = create_named_temp_file(); let toml_str = r#" - mode = "distributed" - [http] addr = "127.0.0.1:4000" diff --git a/src/cmd/src/standalone.rs b/src/cmd/src/standalone.rs index 492d399f61..d81abedb9a 100644 --- a/src/cmd/src/standalone.rs +++ b/src/cmd/src/standalone.rs @@ -854,8 +854,6 @@ mod tests { fn test_read_from_config_file() { let mut file = create_named_temp_file(); let toml_str = r#" - mode = "distributed" - enable_memory_catalog = true [wal] @@ -986,8 +984,6 @@ mod tests { fn test_config_precedence_order() { let mut file = create_named_temp_file(); let toml_str = r#" - mode = "standalone" - [http] addr = "127.0.0.1:4000" diff --git a/src/common/config/src/config.rs b/src/common/config/src/config.rs index 37f0156e43..2f85cf3181 100644 --- a/src/common/config/src/config.rs +++ b/src/common/config/src/config.rs @@ -111,11 +111,9 @@ mod tests { use serde::{Deserialize, Serialize}; use super::*; - use crate::Mode; - #[derive(Debug, Serialize, Deserialize)] + #[derive(Debug, Serialize, Deserialize, Default)] struct TestDatanodeConfig { - mode: Mode, node_id: Option, logging: LoggingOptions, meta_client: Option, @@ -123,19 +121,6 @@ mod tests { storage: StorageConfig, } - impl Default for TestDatanodeConfig { - fn default() -> Self { - Self { - mode: Mode::Distributed, - node_id: None, - logging: LoggingOptions::default(), - meta_client: None, - wal: DatanodeWalConfig::default(), - storage: StorageConfig::default(), - } - } - } - impl Configurable for TestDatanodeConfig { fn env_list_keys() -> Option<&'static [&'static str]> { Some(&["meta_client.metasrv_addrs"]) @@ -146,7 +131,6 @@ mod tests { fn test_load_layered_options() { let mut file = create_named_temp_file(); let toml_str = r#" - mode = "distributed" enable_memory_catalog = false rpc_addr = "127.0.0.1:3001" rpc_hostname = "127.0.0.1" diff --git a/src/common/config/src/lib.rs b/src/common/config/src/lib.rs index 13191a243c..899214088f 100644 --- a/src/common/config/src/lib.rs +++ b/src/common/config/src/lib.rs @@ -26,16 +26,6 @@ pub fn metadata_store_dir(store_dir: &str) -> String { format!("{store_dir}/metadata") } -/// The Server running mode -#[derive(Clone, Debug, Serialize, Deserialize, Eq, PartialEq, Copy)] -#[serde(rename_all = "lowercase")] -pub enum Mode { - // The single process mode. - Standalone, - // The distributed cluster mode. - Distributed, -} - #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)] #[serde(default)] pub struct KvBackendConfig { diff --git a/src/datanode/src/datanode.rs b/src/datanode/src/datanode.rs index 1bb06f1cf9..d11de6c48e 100644 --- a/src/datanode/src/datanode.rs +++ b/src/datanode/src/datanode.rs @@ -47,7 +47,6 @@ use query::dummy_catalog::TableProviderFactoryRef; use query::QueryEngineFactory; use servers::export_metrics::ExportMetricsTask; use servers::server::ServerHandlers; -use servers::Mode; use snafu::{ensure, OptionExt, ResultExt}; use store_api::path_utils::{region_dir, WAL_DIR}; use store_api::region_engine::{RegionEngineRef, RegionRole}; @@ -267,24 +266,18 @@ impl DatanodeBuilder { None }; - let mode = if heartbeat_task.is_none() { - Mode::Standalone - } else { - Mode::Distributed - }; + let is_standalone = heartbeat_task.is_none(); let greptimedb_telemetry_task = get_greptimedb_telemetry_task( Some(self.opts.storage.data_home.clone()), - &mode, - self.opts.enable_telemetry, + is_standalone && self.opts.enable_telemetry, ) .await; - let leases_notifier = - if self.opts.require_lease_before_startup && matches!(mode, Mode::Distributed) { - Some(Arc::new(Notify::new())) - } else { - None - }; + let leases_notifier = if self.opts.require_lease_before_startup && !is_standalone { + Some(Arc::new(Notify::new())) + } else { + None + }; let export_metrics_task = ExportMetricsTask::try_new(&self.opts.export_metrics, Some(&self.plugins)) diff --git a/src/datanode/src/greptimedb_telemetry.rs b/src/datanode/src/greptimedb_telemetry.rs index c6991f1ede..91b08ca634 100644 --- a/src/datanode/src/greptimedb_telemetry.rs +++ b/src/datanode/src/greptimedb_telemetry.rs @@ -20,7 +20,6 @@ use common_greptimedb_telemetry::{ default_get_uuid, Collector, GreptimeDBTelemetry, GreptimeDBTelemetryTask, Mode as VersionReporterMode, TELEMETRY_INTERVAL, }; -use servers::Mode; struct StandaloneGreptimeDBTelemetryCollector { uuid: Option, @@ -55,7 +54,6 @@ impl Collector for StandaloneGreptimeDBTelemetryCollector { pub async fn get_greptimedb_telemetry_task( working_home: Option, - mode: &Mode, enable: bool, ) -> Arc { if !enable || cfg!(test) || cfg!(debug_assertions) { @@ -64,19 +62,14 @@ pub async fn get_greptimedb_telemetry_task( // Always enable. let should_report = Arc::new(AtomicBool::new(true)); - match mode { - Mode::Standalone => Arc::new(GreptimeDBTelemetryTask::enable( - TELEMETRY_INTERVAL, - Box::new(GreptimeDBTelemetry::new( - working_home.clone(), - Box::new(StandaloneGreptimeDBTelemetryCollector { - uuid: default_get_uuid(&working_home), - retry: 0, - }), - should_report.clone(), - )), - should_report, + let uuid = default_get_uuid(&working_home); + Arc::new(GreptimeDBTelemetryTask::enable( + TELEMETRY_INTERVAL, + Box::new(GreptimeDBTelemetry::new( + working_home, + Box::new(StandaloneGreptimeDBTelemetryCollector { uuid, retry: 0 }), + should_report.clone(), )), - Mode::Distributed => Arc::new(GreptimeDBTelemetryTask::disable()), - } + should_report, + )) } diff --git a/src/frontend/src/server.rs b/src/frontend/src/server.rs index d64fa4200f..b3a34368fa 100644 --- a/src/frontend/src/server.rs +++ b/src/frontend/src/server.rs @@ -17,7 +17,7 @@ use std::sync::Arc; use auth::UserProviderRef; use common_base::Plugins; -use common_config::{Configurable, Mode}; +use common_config::Configurable; use servers::error::Error as ServerError; use servers::grpc::builder::GrpcServerBuilder; use servers::grpc::greptime_handler::GreptimeRequestHandler; @@ -143,15 +143,10 @@ where let user_provider = self.plugins.get::(); // Determine whether it is Standalone or Distributed mode based on whether the meta client is configured. - let mode = if opts.meta_client.is_none() { - Mode::Standalone + let runtime = if opts.meta_client.is_none() { + Some(builder.runtime().clone()) } else { - Mode::Distributed - }; - - let runtime = match mode { - Mode::Standalone => Some(builder.runtime().clone()), - _ => None, + None }; let greptime_request_handler = GreptimeRequestHandler::new( diff --git a/src/servers/src/lib.rs b/src/servers/src/lib.rs index f55bc76e17..699dea0f84 100644 --- a/src/servers/src/lib.rs +++ b/src/servers/src/lib.rs @@ -51,8 +51,6 @@ mod row_writer; pub mod server; pub mod tls; -pub use common_config::Mode; - /// Cached SQL and logical plan for database interfaces #[derive(Clone)] pub struct SqlPlan { diff --git a/src/servers/tests/http/http_handler_test.rs b/src/servers/tests/http/http_handler_test.rs index 31e95c1a7b..85bd575da3 100644 --- a/src/servers/tests/http/http_handler_test.rs +++ b/src/servers/tests/http/http_handler_test.rs @@ -382,8 +382,6 @@ async fn test_status() { #[tokio::test] async fn test_config() { let toml_str = r#" - mode = "distributed" - [http] addr = "127.0.0.1:4000" timeout = "0s"