Skip to content

Commit fb9dde9

Browse files
differentiate leaf and root timeout (quickwit-oss#6255)
1 parent 0e61c2f commit fb9dde9

File tree

3 files changed

+10
-2
lines changed

3 files changed

+10
-2
lines changed

quickwit/quickwit-config/src/node_config/mod.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,8 @@ pub struct SearcherConfig {
295295
pub split_cache: Option<SplitCacheLimits>,
296296
#[serde(default = "SearcherConfig::default_request_timeout_secs")]
297297
request_timeout_secs: NonZeroU64,
298+
#[serde(default = "SearcherConfig::default_request_timeout_secs")]
299+
leaf_request_timeout_secs: NonZeroU64,
298300
#[serde(default)]
299301
#[serde(skip_serializing_if = "Option::is_none")]
300302
pub storage_timeout_policy: Option<StorageTimeoutPolicy>,
@@ -519,6 +521,7 @@ impl Default for SearcherConfig {
519521
aggregation_bucket_limit: 65000,
520522
split_cache: None,
521523
request_timeout_secs: Self::default_request_timeout_secs(),
524+
leaf_request_timeout_secs: Self::default_request_timeout_secs(),
522525
storage_timeout_policy: None,
523526
warmup_memory_budget: ByteSize::gb(100),
524527
warmup_single_split_initial_allocation: ByteSize::mb(300),
@@ -528,10 +531,14 @@ impl Default for SearcherConfig {
528531
}
529532

530533
impl SearcherConfig {
531-
/// The timeout after which a search should be cancelled
534+
/// The timeout applied at the gRPC layer for search requests
532535
pub fn request_timeout(&self) -> Duration {
533536
Duration::from_secs(self.request_timeout_secs.get())
534537
}
538+
/// The timeout applied at the leaf search layer
539+
pub fn leaf_request_timeout(&self) -> Duration {
540+
Duration::from_secs(self.leaf_request_timeout_secs.get())
541+
}
535542
fn default_request_timeout_secs() -> NonZeroU64 {
536543
NonZeroU64::new(30).unwrap()
537544
}

quickwit/quickwit-config/src/node_config/serialize.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -680,6 +680,7 @@ mod tests {
680680
_max_num_concurrent_split_streams: Some(serde::de::IgnoredAny),
681681
split_cache: None,
682682
request_timeout_secs: NonZeroU64::new(30).unwrap(),
683+
leaf_request_timeout_secs: NonZeroU64::new(30).unwrap(),
683684
storage_timeout_policy: Some(crate::StorageTimeoutPolicy {
684685
min_throughtput_bytes_per_secs: 100_000,
685686
timeout_millis: 2_000,

quickwit/quickwit-search/src/service.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ impl SearchService for SearchServiceImpl {
198198
targeted_splits: num_splits,
199199
status: None,
200200
};
201-
let timeout = self.searcher_context.searcher_config.request_timeout();
201+
let timeout = self.searcher_context.searcher_config.leaf_request_timeout();
202202
tokio::time::timeout(timeout, tracked_future).await?
203203
}
204204

0 commit comments

Comments
 (0)