Shekharrajak opened a new pull request, #2561: URL: https://github.com/apache/fluss/pull/2561
### Purpose
<!-- Linking this pull request to the issue -->
Linked issue: https://github.com/apache/fluss/issues/2536
<!-- What is the purpose of the change -->
This PR adds foundational support for Iceberg V3 deletion vectors in
Fluss. Deletion vectors (DVs) are a V3 feature that provides more efficient
row-level deletes by storing deleted row
positions in a compact bitmap format (Puffin files) rather than separate
position delete files.
### Brief change log
<!-- Please describe the changes made in this pull request and explain how
they address the issue -->
- **Add FormatVersionManager**: A utility class for detecting Iceberg
table format versions and gating V3-specific features.
- **Add V3DeltaTaskWriter**: A V3-aware delta writer that uses Iceberg's
built-in `BaseDVFileWriter` for position deletes when the table format version
supports deletion vectors.
- For V3 tables: Uses Puffin-based deletion vectors for position deletes
- For V2 tables: Falls back to traditional position delete files
- Extends `BaseTaskWriter` with DV support detection
### API and Format
<!-- Does this change affect API or storage format -->
No breaking API changes. This adds new internal classes:
- `FormatVersionManager` - New utility class for format version detection
- `V3DeltaTaskWriter` - New writer class
When V3 tables are used, delete files will use Puffin format (`.puffin`)
instead of traditional position delete files, which is the standard Iceberg V3
format.
### Tests
Unit tests
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
