Skip to content

Docs: Add Table Spec V3 breakdown to implementation status page - #17311

Open
ZephyrYWZhou wants to merge 1 commit into
apache:mainfrom
ZephyrYWZhou:docs/status-v3-breakdown
Open

Docs: Add Table Spec V3 breakdown to implementation status page#17311
ZephyrYWZhou wants to merge 1 commit into
apache:mainfrom
ZephyrYWZhou:docs/status-v3-breakdown

Conversation

@ZephyrYWZhou

@ZephyrYWZhou ZephyrYWZhou commented Jul 21, 2026

Copy link
Copy Markdown

What changes were proposed in this pull request?

The Implementation Status page (site/docs/status.md) only broke down Table Maintenance / Update / Read / Write Operations and Catalog operations into Table Spec V1 and Table Spec V2 sections. There was no V3 section anywhere, even though Table Spec V3 (deletion vectors, row lineage, etc.) is ratified.

This PR adds the missing Table Spec V3 subsections. Closes #17308.

How were the values determined?

Per-language V3 values were verified against the current main HEAD of each implementation repository, not carried over blindly from V2:

Column Source repo
Java apache/iceberg (this repo)
PyIceberg apache/iceberg-python
Rust apache/iceberg-rust
Go apache/iceberg-go
C++ apache/iceberg-cpp

Notable V3-specific findings from the source:

  • Deletion vectors (the defining V3 read/write change, replacing position delete files):
    • Java — full read + write (core/.../deletes/BaseDVFileWriter.java).
    • Go — read + write (table/dv/, arrow_scanner.go DV read path; partitioned DV write is in progress).
    • C++ — read + write (data/deletion_vector_writer.cc, data/delete_loader.cc, table_scan.cc).
    • Rustnot yet implemented (explicit TODOs in delete_file_index.rs / caching_delete_file_loader.rs; no DV writer). V2 position/equality deletes exist, but DVs do not.
    • PyIcebergreads DVs (io/pyarrow.py Puffin branch) but cannot write to v3 tables (the manifest writer rejects format version 3 in manifest.py), so all V3 write/update rows are N.
  • Maintenance / Update / Catalog rows reflect each library's actual operation + format-v3 support. Catalog V3 tables mirror V2 because all four libraries treat catalogs as format-version-agnostic (they serialize v3-capable metadata and pass it through).

Note

Some pre-existing V1/V2 cells appear stale relative to current code (e.g., a few Rust maintenance ops and the C++ column). This PR scopes the audit to the new V3 tables; the V1/V2 cells are left unchanged and can be refreshed separately.

Documentation change only

No code changes; this only edits site/docs/status.md.

@github-actions github-actions Bot added the docs label Jul 21, 2026
The Implementation Status page (site/docs/status.md) only broke down
Table Maintenance/Update/Read/Write Operations and Catalog operations
into V1 and V2 sections. Table Spec V3 (deletion vectors, row lineage,
etc.) is ratified, so this adds the missing V3 subsections.

Per-language V3 values were verified against the current HEAD of each
implementation repo (apache/iceberg for Java, iceberg-python,
iceberg-rust, iceberg-go, iceberg-cpp):

- Deletion vector read/write reflects actual support: Java, Go and C++
  implement DVs; Rust does not yet (explicit TODOs, no DV writer);
  PyIceberg reads DVs but cannot write to v3 tables (manifest writer
  rejects format version 3).
- Catalog V3 tables mirror V2 since catalogs serialize v3-capable
  metadata and are format-version-agnostic.

Closes apache#17308
@ZephyrYWZhou
ZephyrYWZhou force-pushed the docs/status-v3-breakdown branch from 2c50a61 to a709340 Compare July 21, 2026 06:59
@viggy28

viggy28 commented Jul 24, 2026

Copy link
Copy Markdown

Thanks. Looks good to me. I am fairly new to the Iceberg eco-system, so I will wait for someone who is familiar to give 👍

@ZephyrYWZhou

Copy link
Copy Markdown
Author

Thanks for the first look @viggy28! @kevinjqliu you've maintained site/docs/status.md (including the V3 data-types breakdown) so I'd really value your review here.

@uros-b uros-b left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cc @ZephyrYWZhou regarding #17416 (review) (possible duplicate PR)

@ZephyrYWZhou

Copy link
Copy Markdown
Author

Thanks @uros-b! Yeah, it looks like #17416 is a duplicate. Could you help review my earlier CR here so we can merge and close the duplicate?

@ZephyrYWZhou
ZephyrYWZhou requested a review from uros-b July 30, 2026 00:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Docs: Implementation Status page missing Table Spec V3 breakdown

3 participants