From a5ebaa3e9a79eeed598119bdfcb757897ff47c65 Mon Sep 17 00:00:00 2001 From: shuiyisong <113876041+shuiyisong@users.noreply.github.com> Date: Thu, 16 Apr 2026 10:59:56 +0800 Subject: [PATCH] chore: add a standalone flag in plugins during startup (#7974) * chore: add a standalone flag in plugins during startup Signed-off-by: shuiyisong * chore: add derive Signed-off-by: shuiyisong --------- Signed-off-by: shuiyisong --- src/cmd/src/standalone.rs | 2 ++ src/common/options/src/plugin_options.rs | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/src/cmd/src/standalone.rs b/src/cmd/src/standalone.rs index 215bea0ec5..a95c1bad1f 100644 --- a/src/cmd/src/standalone.rs +++ b/src/cmd/src/standalone.rs @@ -42,6 +42,7 @@ use common_meta::region_keeper::MemoryRegionKeeper; use common_meta::region_registry::LeaderRegionRegistry; use common_meta::sequence::{Sequence, SequenceBuilder}; use common_meta::wal_provider::{WalProviderRef, build_wal_provider}; +use common_options::plugin_options::StandaloneFlag; use common_procedure::ProcedureManagerRef; use common_query::prelude::set_default_prefix; use common_telemetry::info; @@ -369,6 +370,7 @@ impl StartCommand { creator: InstanceCreator, ) -> Result<(Instance, InstanceCreatorResult)> { let mut plugins = Plugins::new(); + plugins.insert(StandaloneFlag); set_default_prefix(opts.default_column_prefix.as_deref()) .map_err(BoxedError::new) .context(error::BuildCliSnafu)?; diff --git a/src/common/options/src/plugin_options.rs b/src/common/options/src/plugin_options.rs index e3163d3e54..07b7e061f8 100644 --- a/src/common/options/src/plugin_options.rs +++ b/src/common/options/src/plugin_options.rs @@ -27,3 +27,10 @@ pub type PluginOptionsSerializerRef = Arc; pub trait PluginOptionsDeserializer: Send + Sync { fn deserialize(&self, payload: &str) -> Result; } + +/// A flag for stating the standalone mode in the plugins. +/// +/// The standalone build and start process calls `setup_frontend_plugins` and `setup_datanode_plugins`, +/// so we add a flag to the plugins to indicate that the plugins are running in the standalone mode. +#[derive(Clone, Copy, Debug)] +pub struct StandaloneFlag;