Skip to content

v0.5.558

@aastha25 aastha25 tagged this 13 Nov 17:25
## Summary

Fix view property removal silently succeeding without deleting the
property. Treat incoming user properties as the complete desired state
and explicitly remove omitted user keys from Iceberg metadata, while
preserving system-property protection.

Follow-up to #883. REPLACE retains Iceberg’s client-side property merge
behavior; no client changes or new dependencies are needed.

## Changes

- [ ] Client-facing API Changes
- [x] Internal API Changes
- [x] Bug Fixes
- [ ] New Features
- [ ] Performance Improvements
- [ ] Code Style
- [ ] Refactoring
- [x] Documentation
- [x] Tests

- Remove the server-side user-property merge and explicitly remove
omitted keys before building metadata.
- Document the complete-state property contract.
- Cover SQL SET/UNSET, catalog property removal, removal of all user
properties, and no-op replay.

## Testing Done

- [ ] Manually Tested on local docker setup.
- [x] Added new tests for the changes made.
- [x] Updated existing tests to reflect the changes made.
- [ ] No tests added or updated.
- [ ] Some other form of testing like staging or soak time in
production.
- [x] Local code review completed

665 tests passed: 182 internalcatalog view tests, 472 service view
tests, and 11 Spark 3.5 integration/regression cases.

Spark tests verify SQL SET/UNSET and updateProperties().remove() against
the embedded OH service, retained properties, system-property
protection, and REPLACE property preservation. Removal regressions
failed before the fix. Spotless checks passed.

# Additional Information

- [x] Breaking Changes
- [ ] Deprecations
- [x] Large PR broken into smaller PRs, and PR plan linked in the
description.

Stacked on #883; this branch adds one isolated commit.

Direct API callers must send the complete desired property map: omitted
user keys are now removed rather than retained. Stored system properties
must still be echoed unchanged.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Assets 2
Loading