common_wal/config/kafka/
metasrv.rs1use std::time::Duration;
16
17use common_base::readable_size::ReadableSize;
18use serde::{Deserialize, Serialize};
19
20use crate::config::kafka::common::{
21 KafkaConnectionConfig, KafkaTopicConfig, DEFAULT_AUTO_PRUNE_INTERVAL,
22 DEFAULT_AUTO_PRUNE_PARALLELISM, DEFAULT_CHECKPOINT_TRIGGER_SIZE, DEFAULT_FLUSH_TRIGGER_SIZE,
23};
24
25#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
27#[serde(default)]
28pub struct MetasrvKafkaConfig {
29 #[serde(flatten)]
31 pub connection: KafkaConnectionConfig,
32 #[serde(flatten)]
34 pub kafka_topic: KafkaTopicConfig,
35 pub auto_create_topics: bool,
37 #[serde(with = "humantime_serde")]
39 pub auto_prune_interval: Duration,
40 pub auto_prune_parallelism: usize,
42 pub flush_trigger_size: ReadableSize,
44 pub checkpoint_trigger_size: ReadableSize,
46}
47
48impl Default for MetasrvKafkaConfig {
49 fn default() -> Self {
50 Self {
51 connection: Default::default(),
52 kafka_topic: Default::default(),
53 auto_create_topics: true,
54 auto_prune_interval: DEFAULT_AUTO_PRUNE_INTERVAL,
55 auto_prune_parallelism: DEFAULT_AUTO_PRUNE_PARALLELISM,
56 flush_trigger_size: DEFAULT_FLUSH_TRIGGER_SIZE,
57 checkpoint_trigger_size: DEFAULT_CHECKPOINT_TRIGGER_SIZE,
58 }
59 }
60}