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