This is an automated email from the ASF dual-hosted git repository. numinnex pushed a commit to branch integration_tests in repository https://gitbox.apache.org/repos/asf/iggy.git
commit 18f60980bc66243aa0f1e3187fc07fca34668ffa Author: numinex <[email protected]> AuthorDate: Mon May 4 15:18:21 2026 +0200 server-ng config --- core/configs/src/server_config/defaults.rs | 3 +-- core/configs/src/server_config/displays.rs | 24 +++------------------- core/configs/src/server_config/server.rs | 30 +--------------------------- core/configs/src/server_config/validators.rs | 27 +------------------------ 4 files changed, 6 insertions(+), 78 deletions(-) diff --git a/core/configs/src/server_config/defaults.rs b/core/configs/src/server_config/defaults.rs index 98a03cbea..25c6da929 100644 --- a/core/configs/src/server_config/defaults.rs +++ b/core/configs/src/server_config/defaults.rs @@ -20,7 +20,7 @@ use super::cluster::{ClusterConfig, ClusterNodeConfig, TransportPorts}; use super::http::{HttpConfig, HttpCorsConfig, HttpJwtConfig, HttpMetricsConfig, HttpTlsConfig}; use super::quic::{QuicCertificateConfig, QuicConfig, QuicSocketConfig}; use super::server::{ - ConsumerGroupConfig, DataMaintenanceConfig, ExtraConfig, HeartbeatConfig, MemoryPoolConfig, + ConsumerGroupConfig, DataMaintenanceConfig, HeartbeatConfig, MemoryPoolConfig, MessageSaverConfig, MessagesMaintenanceConfig, PersonalAccessTokenCleanerConfig, PersonalAccessTokenConfig, ServerConfig, TelemetryConfig, TelemetryLogsConfig, TelemetryTracesConfig, @@ -49,7 +49,6 @@ impl Default for ServerConfig { ServerConfig { consumer_group: ConsumerGroupConfig::default(), data_maintenance: DataMaintenanceConfig::default(), - extra: ExtraConfig::default(), heartbeat: HeartbeatConfig::default(), message_saver: MessageSaverConfig::default(), personal_access_token: PersonalAccessTokenConfig::default(), diff --git a/core/configs/src/server_config/displays.rs b/core/configs/src/server_config/displays.rs index 9d61db3e4..959d35476 100644 --- a/core/configs/src/server_config/displays.rs +++ b/core/configs/src/server_config/displays.rs @@ -19,9 +19,8 @@ use super::quic::{QuicCertificateConfig, QuicConfig}; use super::server::{ - ConsumerGroupConfig, DataMaintenanceConfig, ExtraConfig, HeartbeatConfig, - MessagesMaintenanceConfig, NamespaceConfig, TelemetryConfig, TelemetryLogsConfig, - TelemetryTracesConfig, + ConsumerGroupConfig, DataMaintenanceConfig, HeartbeatConfig, MessagesMaintenanceConfig, + TelemetryConfig, TelemetryLogsConfig, TelemetryTracesConfig, }; use super::system::MessageDeduplicationConfig; use super::{ @@ -157,10 +156,9 @@ impl Display for ServerConfig { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { write!( f, - "{{ consumer_group: {}, data_maintenance: {}, extra: {}, message_saver: {}, heartbeat: {}, system: {}, quic: {}, tcp: {}, http: {}, telemetry: {} }}", + "{{ consumer_group: {}, data_maintenance: {}, message_saver: {}, heartbeat: {}, system: {}, quic: {}, tcp: {}, http: {}, telemetry: {} }}", self.consumer_group, self.data_maintenance, - self.extra, self.message_saver, self.heartbeat, self.system, @@ -172,22 +170,6 @@ impl Display for ServerConfig { } } -impl Display for ExtraConfig { - fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { - write!(f, "{{ namespace: {} }}", self.namespace) - } -} - -impl Display for NamespaceConfig { - fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { - write!( - f, - "{{ max_streams: {}, max_topics: {}, max_partitions: {} }}", - self.max_streams, self.max_topics, self.max_partitions - ) - } -} - impl Display for ConsumerGroupConfig { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { write!( diff --git a/core/configs/src/server_config/server.rs b/core/configs/src/server_config/server.rs index 0a35351ce..fbfb1d458 100644 --- a/core/configs/src/server_config/server.rs +++ b/core/configs/src/server_config/server.rs @@ -30,10 +30,7 @@ use err_trail::ErrContext; use figment::providers::{Format, Toml}; use figment::value::Dict; use figment::{Metadata, Profile, Provider}; -use iggy_common::{ - IggyByteSize, IggyDuration, MemoryPoolConfigOther, Validatable, - sharding::{MAX_PARTITIONS, MAX_STREAMS, MAX_TOPICS}, -}; +use iggy_common::{IggyByteSize, IggyDuration, MemoryPoolConfigOther, Validatable}; use serde::{Deserialize, Serialize}; use serde_with::DisplayFromStr; use serde_with::serde_as; @@ -48,8 +45,6 @@ const DEFAULT_CONFIG_PATH: &str = "core/server/config.toml"; pub struct ServerConfig { pub consumer_group: ConsumerGroupConfig, pub data_maintenance: DataMaintenanceConfig, - #[serde(default)] - pub extra: ExtraConfig, pub message_saver: MessageSaverConfig, pub personal_access_token: PersonalAccessTokenConfig, pub heartbeat: HeartbeatConfig, @@ -62,29 +57,6 @@ pub struct ServerConfig { pub cluster: ClusterConfig, } -// TODO: Rename this to something more sensible, once we figure out all of the extra configuration we need. -#[derive(Debug, Default, Deserialize, Serialize, Clone, ConfigEnv)] -pub struct ExtraConfig { - pub namespace: NamespaceConfig, -} - -#[derive(Debug, Deserialize, Serialize, Clone, ConfigEnv)] -pub struct NamespaceConfig { - pub max_streams: usize, - pub max_topics: usize, - pub max_partitions: usize, -} - -impl Default for NamespaceConfig { - fn default() -> Self { - Self { - max_streams: MAX_STREAMS, - max_topics: MAX_TOPICS, - max_partitions: MAX_PARTITIONS, - } - } -} - /// Configuration for the memory pool. #[derive(Debug, Deserialize, Serialize, ConfigEnv)] pub struct MemoryPoolConfig { diff --git a/core/configs/src/server_config/validators.rs b/core/configs/src/server_config/validators.rs index 2e23e48a4..1512961d6 100644 --- a/core/configs/src/server_config/validators.rs +++ b/core/configs/src/server_config/validators.rs @@ -20,8 +20,7 @@ use super::COMPONENT; use super::cluster::ClusterConfig; use super::server::{ - DataMaintenanceConfig, ExtraConfig, MessageSaverConfig, MessagesMaintenanceConfig, - NamespaceConfig, TelemetryConfig, + DataMaintenanceConfig, MessageSaverConfig, MessagesMaintenanceConfig, TelemetryConfig, }; use super::server::{MemoryPoolConfig, PersonalAccessTokenConfig, ServerConfig}; use super::sharding::{CpuAllocation, ShardingConfig}; @@ -33,7 +32,6 @@ use iggy_common::CompressionAlgorithm; use iggy_common::IggyExpiry; use iggy_common::MaxTopicSize; use iggy_common::Validatable; -use iggy_common::sharding::IggyNamespace; use std::thread::available_parallelism; use tracing::warn; @@ -78,9 +76,6 @@ impl Validatable<ConfigurationError> for ServerConfig { "{COMPONENT} (error: {e}) - failed to validate personal access token config" ) })?; - self.extra.validate().error(|e: &ConfigurationError| { - format!("{COMPONENT} (error: {e}) - failed to validate extra config") - })?; self.system .segment .validate() @@ -169,26 +164,6 @@ impl Validatable<ConfigurationError> for ServerConfig { } } -impl Validatable<ConfigurationError> for ExtraConfig { - fn validate(&self) -> Result<(), ConfigurationError> { - self.namespace.validate().error(|e: &ConfigurationError| { - format!("{COMPONENT} (error: {e}) - failed to validate namespace config") - })?; - Ok(()) - } -} - -impl Validatable<ConfigurationError> for NamespaceConfig { - fn validate(&self) -> Result<(), ConfigurationError> { - IggyNamespace::validate_capacity(self.max_streams, self.max_topics, self.max_partitions) - .map_err(|error| { - eprintln!("extra.namespace is invalid: {error}"); - ConfigurationError::InvalidConfigurationValue - })?; - Ok(()) - } -} - impl Validatable<ConfigurationError> for CompressionConfig { fn validate(&self) -> Result<(), ConfigurationError> { let compression_alg = &self.default_algorithm;
