Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 11 additions & 12 deletions quickwit/quickwit-parquet-engine/src/merge/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ mod merge_order;
pub mod metadata_aggregation;
pub mod policy;
mod schema;
pub mod streaming;
mod writer;

#[cfg(test)]
Expand Down Expand Up @@ -64,20 +65,18 @@ pub struct MergeConfig {
/// Metadata extracted from input files' Parquet KV metadata.
/// All inputs must agree on sort_fields, window_start, window_duration,
/// and rg_partition_prefix_len.
struct InputMetadata {
sort_fields: String,
window_start_secs: Option<i64>,
window_duration_secs: u32,
num_merge_ops: u32,
pub(super) struct InputMetadata {
pub(super) sort_fields: String,
pub(super) window_start_secs: Option<i64>,
pub(super) window_duration_secs: u32,
pub(super) num_merge_ops: u32,
/// Number of leading sort columns whose transitions align with row
/// group boundaries. All input files must agree on this value (it's
/// part of the compaction scope key). Splitting row groups at the
/// claimed prefix boundary is not implemented by the current merge
/// writer — it lands in PR-6 (streaming column-major merge engine).
/// Until then, the *output* file is written with prefix 0 regardless
/// of this value.
#[allow(dead_code)] // wired for PR-6 streaming engine; PR-1 only validates.
rg_partition_prefix_len: u32,
/// part of the compaction scope key). PR-6c slices outputs at
/// `metric_name` transitions so multi-RG outputs claim
/// `prefix_len = 1`; single-RG outputs vacuously satisfy the
/// claim. The marker propagation itself lands in PR-7 (wiring).
pub(super) rg_partition_prefix_len: u32,
}

/// Result of a single output file from the merge.
Expand Down
Loading
Loading