You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: crates/iceberg/src/transaction/merge_append.rs
+7-3Lines changed: 7 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -135,7 +135,7 @@ impl TransactionAction for MergeAppendAction {
135
135
136
136
ifself.merge_enabled{
137
137
snapshot_producer
138
-
.commit(AppendOperation,MergeManifsetProcess{
138
+
.commit(AppendOperation,MergeManifestProcess{
139
139
target_size_bytes:self.target_size_bytes,
140
140
min_count_to_merge:self.min_count_to_merge,
141
141
})
@@ -271,6 +271,10 @@ impl MergeManifestManager {
271
271
Ok(merged_bins.into_iter().flatten().collect())
272
272
}
273
273
274
+
// Merge Algorithm:
275
+
// 1. Split manifests into groups by partition spec id.
276
+
// 2. For each group, pack manifests into bins by target size, the sum of manifest length in each bin should be less than target size.
277
+
// 3. For the bin contains the first manifest, if the number of manifests in the bin is less than min count, then don't merge it. Otherwise, merge the bin.
0 commit comments