Skip to content

Conversation

@rambleraptor
Copy link
Contributor

Closes #1821

Rationale for this change

This adds the proper row-lineage fields for v3. Row-lineage is enforced for v3, so all of this is done by default.

Are these changes tested?

Tests are included. I'd like to include an integration test, but we don't currently allow writing v3 manifest files.

Are there any user-facing changes?

Adds row-lineage fields.

Copy link
Contributor

@kevinjqliu kevinjqliu left a comment

Choose a reason for hiding this comment

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

Thanks for adding this feature!
I think it would be great to include a E2E test with spark. I believe the feature will be available in the next java iceberg release, 1.10

@rambleraptor rambleraptor requested review from Fokko and kevinjqliu June 27, 2025 23:05
@rambleraptor
Copy link
Contributor Author

rambleraptor commented Jun 30, 2025

@kevinjqliu happy to add that e2e test! Would you prefer I wait for the release + add the test or just file an issue? I know v3 writing is blocked on this feature.

@Fokko
Copy link
Contributor

Fokko commented Oct 21, 2025

I think now would be a good time to revive this again :) As you pointed out @geruh did similar work in #2631

@rambleraptor rambleraptor force-pushed the row-lineage branch 2 times, most recently from 11262a6 to 351a1ca Compare October 21, 2025 20:33
@rambleraptor
Copy link
Contributor Author

@Fokko Could not agree more! Addressed your comments and added a test on Spark!



@pytest.mark.integration
def test_v3_write_and_read_row_lineage(spark: SparkSession, session_catalog: Catalog) -> None:
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is the test I would want to write for testing with Spark. Unfortunately, it fails because we don't have v3 writer support (which is needed to append new rows)

Copy link
Contributor

@Fokko Fokko left a comment

Choose a reason for hiding this comment

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

Thanks @rambleraptor for the quick turnaround! Could you pull in main once more? We had a failing main earlier today 👍

@rambleraptor
Copy link
Contributor Author

@Fokko rebased!

@Fokko Fokko merged commit 94ce205 into apache:main Oct 22, 2025
8 checks passed
@Fokko
Copy link
Contributor

Fokko commented Oct 22, 2025

Thanks @rambleraptor for working on this 🙌

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make PyIceberg aware of row-level lineage

3 participants