mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-05-21 15:30:40 +00:00
refactor: remove the "mode" configuration item completely (#6042)
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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<u64>,
|
||||
logging: LoggingOptions,
|
||||
meta_client: Option<MetaClientOptions>,
|
||||
@@ -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"
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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<String>,
|
||||
@@ -55,7 +54,6 @@ impl Collector for StandaloneGreptimeDBTelemetryCollector {
|
||||
|
||||
pub async fn get_greptimedb_telemetry_task(
|
||||
working_home: Option<String>,
|
||||
mode: &Mode,
|
||||
enable: bool,
|
||||
) -> Arc<GreptimeDBTelemetryTask> {
|
||||
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,
|
||||
))
|
||||
}
|
||||
|
||||
@@ -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::<UserProviderRef>();
|
||||
|
||||
// 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(
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user