[Spark] Transition Type Widening table feature from preview to stable #4127
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
What changes were proposed in this pull request?
The type widening spec has been stable since June 2024, both the preview and stable table features are supported since Delta 3.3.
Until now, the preview feature was enabled by default when enabling type widening. This change switches to enabling the stable feature instead by default.
Clients that only understand the preview feature (Delta 3.2, Delta 4.0 Preview) won't be able to read newly created tables. That means clients will need to upgrade from Delta 3.2 to 3.3 for that specific use case.
The preview and stable features are compatible, the only difference is that the stable spec doesn't require storing the table version as part of the type widening metadata. The stable feature doesn't write and ignores on read this
tableVersion
field.How was this patch tested?
Updated existing tests.
Does this PR introduce any user-facing changes?
The stable table feature
typeWidening
is now added to the table when enabling type widening instead of the preview table featuretypeWidening-preview
.This will prevent Delta 3.2 from reading newly created tables with upcoming Delta versions (3.4/4.0?), requiring readers to upgrade to Delta 3.3 and above.