nevzheng opened a new pull request, #12228:
URL: https://github.com/apache/gravitino/pull/12228
### What changes were proposed in this pull request?
This is Stack 20 review unit 2 of 5. It depends on #12225.
Review the commits in order:
1. `feat(iceberg): wire retained table delete`
- Routes Iceberg REST DELETE through the retained-table deletion
coordinator when soft delete is enabled.
- Keeps the existing behavior when the feature is disabled.
- Treats a repeated DELETE of the already-retained table as successful
without allocating another deletion generation.
- Never deletes Iceberg files on the request thread.
2. `fix(core): invalidate caches for table deletion lifecycle`
- Invalidates the local table cache only after the relational transaction
commits.
- Propagates lifecycle changes to peer servers through the existing
entity change log.
**After this PR:** the existing Iceberg REST DELETE endpoint durably retains
and hides the original table row, reserves its name, and keeps local and peer
caches coherent. Deleted-table discovery and UNDROP are added by the following
review units; physical purge remains separate work.
Review order: #12222 → #12223 → #12225 → **this PR** → retained deletion
read model → #12226 → #12227.
Incremental diff:
https://github.com/nevzheng/gravitino/compare/codex/iceberg-rest-delete-20-01-delete-lifecycle...codex/iceberg-rest-delete-20-01b-delete-api-cache
### Why are the changes needed?
The storage-backed deletion coordinator from #12225 must be connected to the
existing REST DELETE path, with cache coherence across Gravitino servers,
before deleted-table reads or recovery can be exposed.
Related: #12221
### Does this PR introduce _any_ user-facing change?
Yes. When Iceberg REST soft deletion is enabled, DELETE retains and hides
the existing table row and reserves its name. When it is disabled, existing
behavior is unchanged.
### How was this patch tested?
The review-unit head passes focused relational cache invalidation, peer
change propagation, DELETE routing, authorization, retry, concurrency, and
asynchronous-purge compatibility tests.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]