risingwave_common/config/
batch.rs1use risingwave_common_proc_macro::serde_prefix_all;
16
17use super::*;
18
19#[serde_with::apply(Option => #[serde(with = "none_as_empty_string")])]
21#[derive(Clone, Debug, Serialize, Deserialize, DefaultFromSerde, ConfigDoc)]
22pub struct BatchConfig {
23 #[serde(default)]
26 pub worker_threads_num: Option<usize>,
27
28 #[serde(default)]
29 #[config_doc(nested)]
30 pub developer: BatchDeveloperConfig,
31
32 #[serde(default)]
34 pub distributed_query_limit: Option<u64>,
35
36 #[serde(default)]
38 pub max_batch_queries_per_frontend_node: Option<u64>,
39
40 #[serde(default = "default::batch::enable_barrier_read")]
41 pub enable_barrier_read: bool,
42
43 #[serde(default = "default::batch::statement_timeout_in_sec")]
45 pub statement_timeout_in_sec: u32,
46
47 #[serde(default, flatten)]
48 #[config_doc(omitted)]
49 pub unrecognized: Unrecognized<Self>,
50
51 #[serde(default)]
52 pub frontend_compute_runtime_worker_threads: Option<usize>,
54
55 #[serde(default = "default::batch::mask_worker_temporary_secs")]
57 pub mask_worker_temporary_secs: usize,
58
59 #[serde(default = "default::batch::redact_sql_option_keywords")]
62 pub redact_sql_option_keywords: Vec<String>,
63
64 #[serde(default = "default::batch::enable_spill")]
66 pub enable_spill: bool,
67}
68
69#[serde_prefix_all("batch_", mode = "alias")]
73#[serde_with::apply(Option => #[serde(with = "none_as_empty_string")])]
74#[derive(Clone, Debug, Serialize, Deserialize, DefaultFromSerde, ConfigDoc)]
75pub struct BatchDeveloperConfig {
76 #[serde(default = "default::developer::connector_message_buffer_size")]
79 pub connector_message_buffer_size: usize,
80
81 #[serde(default = "default::developer::batch_output_channel_size")]
83 pub output_channel_size: usize,
84
85 #[serde(default = "default::developer::batch_receiver_channel_size")]
86 pub receiver_channel_size: usize,
87
88 #[serde(default = "default::developer::batch_root_stage_channel_size")]
89 pub root_stage_channel_size: usize,
90
91 #[serde(default = "default::developer::batch_chunk_size")]
93 pub chunk_size: usize,
94
95 #[serde(default = "default::developer::batch_exchange_connection_pool_size")]
98 pub(super) exchange_connection_pool_size: Option<u16>,
99
100 #[serde(default)]
101 pub compute_client_config: RpcClientConfig,
102
103 #[serde(default)]
104 pub frontend_client_config: RpcClientConfig,
105
106 #[serde(default = "default::developer::batch_local_execute_buffer_size")]
107 pub local_execute_buffer_size: usize,
108}
109
110pub mod default {
111 pub use crate::config::default::developer;
112
113 pub mod batch {
114 pub fn enable_barrier_read() -> bool {
115 false
116 }
117
118 pub fn enable_spill() -> bool {
119 true
120 }
121
122 pub fn statement_timeout_in_sec() -> u32 {
123 60 * 60
125 }
126
127 pub fn mask_worker_temporary_secs() -> usize {
128 30
129 }
130
131 pub fn redact_sql_option_keywords() -> Vec<String> {
132 [
133 "credential",
134 "key",
135 "password",
136 "private",
137 "secret",
138 "token",
139 ]
140 .into_iter()
141 .map(str::to_string)
142 .collect()
143 }
144 }
145}