nevzheng opened a new pull request, #12226: URL: https://github.com/apache/gravitino/pull/12226
### What changes were proposed in this pull request? This is Stack 20.2 of 3 and depends on #12225. - Support `deleted=true` on the existing table collection and item APIs. - Join table metadata to its exact deletion action by deletion ID and immutable identity. - Return a safe deletion representation without metadata locations, credentials, or internal cleanup context. - Return strong deletion-action ETags and disable caching. - Apply authorization before returning or paginating retained tables. - Avoid acquiring the live Iceberg catalog when reading deleted metadata. - Sanitize lifecycle errors and support conditional `If-None-Match` reads. Review order: #12224 → #12225 → this PR → Stack 20.3. Incremental diff: https://github.com/nevzheng/gravitino/compare/codex/iceberg-rest-delete-20-01-delete-lifecycle...codex/iceberg-rest-delete-20-02-deleted-table-reads ### Why are the changes needed? Clients need to discover the exact retained table generation and obtain the ETag required for safe UNDROP. Related: #12221 ### Does this PR introduce _any_ user-facing change? Yes. Existing table APIs accept `deleted=true` to list or load retained table deletions. For this POC, collection reads materialize and authorize matching retained tables before applying in-memory pagination. Database-level keyset pagination can follow separately. ### How was this patch tested? Added exact-join storage, deleted collection/item, ETag, caching, authorization-concealment, safe-response, and live-catalog isolation tests. Focused Core and Iceberg REST Server tests pass. -- 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]
