Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Path to reader version 3, writer version 7 transaction log protocol support #1568

Closed
MrPowers opened this issue Jul 27, 2023 · 9 comments
Closed
Labels
binding/python Issues for the Python package binding/rust Issues for the Rust crate enhancement New feature or request

Comments

@MrPowers
Copy link
Collaborator

Description

Delta Lake transitioned to table features and now has a better upgrade path for connectors.

delta-rs can upgrade to protocol version 3,7 (skipping the intermediate protocol versions) and then cherry pick the table features that will be supported.

Adding table feature support may also make it safer when reading Delta tables with delta-rs. Does delta-rs gracefully error out when reading a table with table features that are enabled that delta-rs does not currently support?

The purpose of this issue is to organize the remaining work that's needed to get protocol version 3,7 support. Seems like delta-rs is close.

@MrPowers MrPowers added the enhancement New feature or request label Jul 27, 2023
@wjones127
Copy link
Collaborator

Does delta-rs gracefully error out when reading a table with table features that are enabled that delta-rs does not currently support?

This should happen right now, so if anyone is getting incorrect data back from delta-rs, we should consider that a bug.

@wjones127
Copy link
Collaborator

The purpose of this issue is to organize the remaining work that's needed to get protocol version 3,7 support. Seems like delta-rs is close.

I think the tentative plan is to wait to the delta-kernel-rs to be released publicly and for us to switch that over.

@rtyler rtyler added binding/rust Issues for the Rust crate binding/python Issues for the Python package labels Sep 21, 2023
@MrPowers
Copy link
Collaborator Author

Once this is merged, we should have full support for append only tables.

@ion-elgreco
Copy link
Collaborator

@MrPowers does that mean the rust writer automatically checks it?

@roeap
Copy link
Collaborator

roeap commented Nov 16, 2023

does that mean the rust writer automatically checks it?

This check is done in the commit function, since we are also committing actions to the protocol via that function it should cover all code paths, including writing via python.

@ion-elgreco
Copy link
Collaborator

does that mean the rust writer automatically checks it?

This check is done in the commit function, since we are also committing actions to the protocol via that function it should cover all code paths, including writing via python.

Great, then I can remove the delta append only check for the python bindings to rust writer once this is in

@hntd187
Copy link
Collaborator

hntd187 commented Nov 18, 2023

Okay so I have to check the write paths are respected for invariants and fix that if necessary to ensure we have invariant support throughout. Then once that is done I'll start implementing check constraints.

@MrPowers
Copy link
Collaborator Author

MrPowers commented Jan 2, 2024

@hntd187 - can we claim reader version 3, writer version 7 transaction log protocol support now?

@hntd187
Copy link
Collaborator

hntd187 commented Jan 2, 2024

I believe what I signed up to do is done and dusted, so barring any other support we need to support it, I believe so.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
binding/python Issues for the Python package binding/rust Issues for the Rust crate enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

6 participants