1use std::time::Duration;
18
19use common_grpc::channel_manager::ClientTlsOption;
20use serde::{Deserialize, Serialize};
21use session::ReadPreference;
22
23mod checkpoint;
24pub(crate) mod engine;
25mod eval_schedule;
26pub(crate) mod frontend_client;
27mod state;
28mod table_creator;
29mod task;
30mod time_window;
31pub(crate) mod utils;
32
33#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
34pub struct BatchingModeOptions {
35 #[serde(with = "humantime_serde")]
37 pub query_timeout: Duration,
38 #[serde(with = "humantime_serde")]
40 pub slow_query_threshold: Duration,
41 #[serde(with = "humantime_serde")]
43 pub experimental_min_refresh_duration: Duration,
44 #[serde(with = "humantime_serde")]
46 pub grpc_conn_timeout: Duration,
47 #[serde(with = "humantime_serde")]
48 pub experimental_flight_do_get_timeout: Duration,
49 pub experimental_grpc_max_retries: u32,
51 #[serde(with = "humantime_serde")]
55 pub experimental_frontend_scan_timeout: Duration,
56 pub experimental_max_filter_num_per_query: usize,
58 pub experimental_time_window_merge_threshold: usize,
60 pub experimental_enable_incremental_read: bool,
64 pub read_preference: ReadPreference,
66 pub frontend_tls: Option<ClientTlsOption>,
68}
69
70impl Default for BatchingModeOptions {
71 fn default() -> Self {
72 Self {
73 query_timeout: Duration::from_secs(10 * 60),
74 slow_query_threshold: Duration::from_secs(60),
75 experimental_min_refresh_duration: Duration::new(5, 0),
76 grpc_conn_timeout: Duration::from_secs(5),
77 experimental_flight_do_get_timeout: Duration::from_secs(10),
78 experimental_grpc_max_retries: 3,
79 experimental_frontend_scan_timeout: Duration::from_secs(30),
80 experimental_max_filter_num_per_query: 20,
81 experimental_time_window_merge_threshold: 3,
82 experimental_enable_incremental_read: false,
83 read_preference: Default::default(),
84 frontend_tls: None,
85 }
86 }
87}