Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
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
Prev Previous commit
lint
  • Loading branch information
rambleraptor committed Dec 12, 2025
commit 36bb37f5e8bda092b8dfc6d2ce62fce08aa9b9be
10 changes: 4 additions & 6 deletions pyiceberg/table/puffin.py
Original file line number Diff line number Diff line change
Expand Up @@ -211,11 +211,11 @@ def set_blob(
self._blobs.append(
PuffinBlobMetadata(
type="deletion-vector-v1",
fields=[2147483645], # Java INT_MAX - 2, reserved field id for deletion vectors
fields=[2147483645], # Java INT_MAX - 2, reserved field id for deletion vectors
snapshot_id=-1,
sequence_number=-1,
offset=0, # TODO: Use DeleteFileIndex data
length=0, # TODO: Use DeleteFileIndex data
offset=0, # TODO: Use DeleteFileIndex data
length=0, # TODO: Use DeleteFileIndex data
properties=properties,
compression_codec=None,
)
Expand All @@ -236,9 +236,7 @@ def finish(self) -> bytes:
updated_blobs_metadata.append(PuffinBlobMetadata(**original_metadata_dict))
current_offset += len(blob_payload)

footer = Footer(
blobs=updated_blobs_metadata, properties={"created-by": self._created_by} if self._created_by else {}
)
footer = Footer(blobs=updated_blobs_metadata, properties={"created-by": self._created_by} if self._created_by else {})
footer_payload_bytes = footer.model_dump_json(by_alias=True, exclude_none=True).encode("utf-8")

# Final assembly
Expand Down
2 changes: 1 addition & 1 deletion tests/integration/test_puffin_spark_interop.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ def test_read_spark_written_puffin_dv(spark: SparkSession, session_catalog: Rest
dv_dict = puffin.to_vector()
assert len(dv_dict) == 1, "Expected one data file's deletions"

for data_file_path, chunked_array in dv_dict.items():
for _data_file_path, chunked_array in dv_dict.items():
positions = chunked_array.to_pylist()
assert len(positions) == 4, f"Expected 4 deleted positions, got {len(positions)}"
assert sorted(positions) == [9, 19, 29, 39], f"Unexpected positions: {positions}"
2 changes: 1 addition & 1 deletion tests/table/test_puffin.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ def test_puffin_round_trip() -> None:
read_vectors = reader.to_vector()

assert file_path in read_vectors
assert read_vectors[file_path].to_pylist() == sorted(list(set(deletions)))
assert read_vectors[file_path].to_pylist() == sorted(set(deletions))


def test_write_and_read_puffin_file() -> None:
Expand Down