Skip to content

Conversation

@emkornfield
Copy link
Contributor

Which issue does this PR close?

This is a proposed change allow for reading V1 manifests with a V2 reader.

It is currently broken, I suspect Avro might not be doing resolution based on field ID but I need to dig further.

What changes are included in this PR?

  • Make V2 required have a default value in case they are missing (defaults are spelled out in the spec). This is the same approach PyIceberg takes.

Are these changes tested?

It appears there was an existing test that was meant to cover this feature but it in fact had a bug where it was just checking v2 round-trip. I updated the test as well.

@emkornfield emkornfield changed the title [WIP] Allow V2 reader to read v1 manifests Allow V2 reader to read v1 manifests Aug 29, 2025
@emkornfield
Copy link
Contributor Author

emkornfield commented Aug 29, 2025

@Fokko I think this fixes the issue as described, mind taking a look? I think CI failures might be unrelated?

@Fokko
Copy link
Contributor

Fokko commented Sep 1, 2025

@emkornfield Thanks for working on this 🙌 Let me take a look. The CI is unrelated indeed, and has been fixed on main.

@Fokko
Copy link
Contributor

Fokko commented Sep 1, 2025

I've did some end to end validation, and it fixed the issue on the PyIceberg side 👍

@Fokko Fokko merged commit 1397a36 into apache:main Sep 1, 2025
17 checks passed
@Fokko
Copy link
Contributor

Fokko commented Sep 1, 2025

Thanks @emkornfield 🙌

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.

Avro: Allow reading ManifestList V1 using a V2 reader

2 participants