Skip to content

Commit e00450b

Browse files
committed
Add test_expire_metadata_log
1 parent 3543dfd commit e00450b

File tree

1 file changed

+43
-1
lines changed

1 file changed

+43
-1
lines changed

crates/iceberg/src/spec/table_metadata_builder.rs

+43-1
Original file line numberDiff line numberDiff line change
@@ -872,13 +872,13 @@ impl TableMetadataBuilder {
872872
.with_fields(sort_order.fields)
873873
.build(&schema)?;
874874

875-
let expired_metadata_logs = self.expire_metadata_log();
876875
self.update_snapshot_log()?;
877876
self.metadata.try_normalize()?;
878877

879878
if let Some(hist_entry) = self.previous_history_entry.take() {
880879
self.metadata.metadata_log.push(hist_entry);
881880
}
881+
let expired_metadata_logs = self.expire_metadata_log();
882882

883883
Ok(TableMetadataBuildResult {
884884
metadata: self.metadata,
@@ -1945,4 +1945,46 @@ mod tests {
19451945
"Cannot add partition spec with non-sequential field ids to format version 1 table"
19461946
));
19471947
}
1948+
1949+
#[test]
1950+
fn test_expire_metadata_log() {
1951+
let builder = builder_without_changes(FormatVersion::V2);
1952+
let metadata = builder
1953+
.set_properties(HashMap::from_iter(vec![(
1954+
PROPERTY_METADATA_PREVIOUS_VERSIONS_MAX.to_string(),
1955+
"2".to_string(),
1956+
)]))
1957+
.unwrap()
1958+
.build()
1959+
.unwrap();
1960+
assert_eq!(metadata.metadata.metadata_log.len(), 1);
1961+
assert_eq!(metadata.expired_metadata_logs.len(), 0);
1962+
1963+
let metadata = metadata
1964+
.metadata
1965+
.into_builder(Some("path2".to_string()))
1966+
.set_properties(HashMap::from_iter(vec![(
1967+
"change_nr".to_string(),
1968+
"1".to_string(),
1969+
)]))
1970+
.unwrap()
1971+
.build()
1972+
.unwrap();
1973+
1974+
assert_eq!(metadata.metadata.metadata_log.len(), 2);
1975+
assert_eq!(metadata.expired_metadata_logs.len(), 0);
1976+
1977+
let metadata = metadata
1978+
.metadata
1979+
.into_builder(Some("path2".to_string()))
1980+
.set_properties(HashMap::from_iter(vec![(
1981+
"change_nr".to_string(),
1982+
"2".to_string(),
1983+
)]))
1984+
.unwrap()
1985+
.build()
1986+
.unwrap();
1987+
assert_eq!(metadata.metadata.metadata_log.len(), 2);
1988+
assert_eq!(metadata.expired_metadata_logs.len(), 1);
1989+
}
19481990
}

0 commit comments

Comments
 (0)