nevzheng opened a new pull request, #12257:
URL: https://github.com/apache/gravitino/pull/12257

   ### What changes were proposed in this pull request?
   
   Adds a design document for soft deletion of Iceberg tables: a deletion 
record that makes a dropped table restorable for a bounded window, the API for 
discovering and undeleting it, and the purge that runs when the window closes.
   
   - §5.3 Metadata model → apache/gravitino#12220 (relational storage epic)
   - §5.2 API → apache/gravitino#12221 (Iceberg REST API epic)
   
   **Review focus:** those two sections are what I'd most like scrutinized. 
§5.6 (purge) is offered as a proposal and needs further review — the claim and 
finalization transactions are new, while scheduling, retry tuning, and operator 
repair are deliberately deferred.
   
   Follows up on Non-Goal 1 of the merged async hard-deletion design, which 
defers soft delete and undrop to a separate document.
   
   ### Why are the changes needed?
   
   A dropped Iceberg table is unrecoverable today across all three drop paths. 
There is no way to see what was dropped or get it back, and the name frees up 
immediately. This proposes a recoverable window with the name reserved until 
purge.
   
   Part of apache/gravitino#12219
   
   ### Does this PR introduce _any_ user-facing change?
   
   No — documentation only. The design it describes would add `?deleted=true` 
discovery, a `POST …/undrop` endpoint, and the `gravitino.entity.soft-delete.*` 
property keys.
   
   ### How was this patch tested?
   
   Not applicable — design document only. §8 defines the test plan for the 
implementation.


-- 
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]

Reply via email to