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

fix: compensate for invalid log files created by Delta Live Tables #1647

Merged
merged 3 commits into from
Sep 22, 2023

Conversation

rtyler
Copy link
Member

@rtyler rtyler commented Sep 20, 2023

It would appear that in some cases Delta Live Tables will create a Delta table which does not adhere to the Delta Table protocol.

The metaData action as a required schemaString property which simply doesn't exist. Since it appears that this only exists at version zero of the transaction log, and the actual schema exists in the following versions of the table (e.g. 1), this change introduces a default deserializer on the MetaData action which provides a simple empty schema.

This is an alternative implementation to #1305 which is a bit more invasive and makes our schema_string struct member Option<String> which I do not believe is worth it for this unfortunate compatibility issue

Closes #1305, #1302

@github-actions github-actions bot added binding/rust Issues for the Rust crate rust labels Sep 20, 2023
@rtyler rtyler added this to the Rust v0.16 milestone Sep 20, 2023
It would appear that in some cases Delta Live Tables will create a Delta table
which does not adhere to the Delta Table protocol.

The metaData action as a **required** `schemaString` property which simply
doesn't exist. Since it appears that this only exists at version zero of the
transaction log, and the _actual_ schema exists in the following versions of the
table (e.g. 1), this change introduces a default deserializer on the MetaData
action which provides a simple empty schema.

This is an alternative implementation to delta-io#1305 which is a bit more invasive and
makes our schema_string struct member `Option<String>` which I do not believe is
worth it for this unfortunate compatibility issue

Closes delta-io#1305, delta-io#1302, delta-io#1357

Sponsored-by: Databricks Inc
@rtyler rtyler self-assigned this Sep 20, 2023
@rtyler rtyler marked this pull request as ready for review September 20, 2023 13:43
@wjones127
Copy link
Collaborator

Removing mention of #1357 from PR description, since I think tagging that was accidental.

@rtyler rtyler merged commit 98b33e1 into delta-io:main Sep 22, 2023
42 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
binding/rust Issues for the Rust crate rust
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants