Skip to content

Commit 6c7a153

Browse files
committed
settings
1 parent 6c6483d commit 6c7a153

File tree

4 files changed

+17
-5
lines changed

4 files changed

+17
-5
lines changed

src/query/service/src/physical_plans/physical_window_partition.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ impl IPhysicalPlan for WindowPartition {
161161
_ => unimplemented!(),
162162
};
163163
let window_spill_settings = MemorySettings::from_window_settings(&builder.ctx)?;
164+
let enable_backpressure_spiller = settings.get_enable_backpressure_spiller()?;
164165

165166
let processor_id = AtomicUsize::new(0);
166167
builder.main_pipeline.add_transform(|input, output| {
@@ -181,7 +182,7 @@ impl IPhysicalPlan for WindowPartition {
181182
num_partitions,
182183
window_spill_settings.clone(),
183184
disk_spill.clone(),
184-
true,
185+
enable_backpressure_spiller,
185186
strategy,
186187
)?,
187188
)))

src/query/service/src/pipelines/processors/transforms/window/partition/window_partition_buffer_v2.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,10 @@ where
107107
{
108108
fn default() -> Self {
109109
Self {
110-
state: PartitionSpillState::Empty,
111-
spilled_ordinals: Vec::new(),
112-
buffered_blocks: Vec::new(),
113-
buffered_size: 0,
110+
state: Default::default(),
111+
spilled_ordinals: Default::default(),
112+
buffered_blocks: Default::default(),
113+
buffered_size: Default::default(),
114114
}
115115
}
116116
}

src/query/settings/src/settings_default.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,13 @@ impl DefaultSettings {
228228
scope: SettingScope::Both,
229229
range: Some(SettingRange::Numeric(0..=500)),
230230
}),
231+
("enable_backpressure_spiller", DefaultSettingValue {
232+
value: UserSettingValue::UInt64(1),
233+
desc: "Use new backpressure spiller.",
234+
mode: SettingMode::Both,
235+
scope: SettingScope::Both,
236+
range: Some(SettingRange::Numeric(0..=1)),
237+
}),
231238
("max_spill_io_requests", DefaultSettingValue {
232239
value: UserSettingValue::UInt64(default_max_spill_io_requests),
233240
desc: "Sets the maximum number of concurrent spill I/O requests.",

src/query/settings/src/settings_getter_setter.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -897,6 +897,10 @@ impl Settings {
897897
self.try_get_u64("dynamic_sample_time_budget_ms")
898898
}
899899

900+
pub fn get_enable_backpressure_spiller(&self) -> Result<bool> {
901+
Ok(self.try_get_u64("enable_backpressure_spiller")? != 0)
902+
}
903+
900904
pub fn get_max_spill_io_requests(&self) -> Result<u64> {
901905
self.try_get_u64("max_spill_io_requests")
902906
}

0 commit comments

Comments
 (0)