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

   ### What changes were proposed in this pull request?
   
   This is Stack 20 review unit 3 of 5. It depends on #12228 and should be 
reviewed before #12226.
   
   Review the commits in order:
   
   1. `feat(core): join retained table deletion records`
      - Adds a read-only projection pairing the retained `table_meta` row with 
its exact `entity_deletion` action.
      - Implements one-statement joins for an exact deleted table and all 
deleted tables in a schema.
      - Avoids N+1 action lookups and does not duplicate table identity or name 
in `entity_deletion`.
   2. `feat(iceberg): add retained deletion read model`
      - Maps the joined storage projection into a safe Iceberg deletion 
representation.
      - Produces a strong ETag from the public deletion representation for 
conditional UNDROP.
      - Keeps metadata locations, FileIO configuration, credentials, and 
cleanup internals out of the public model.
   
   **After this PR:** the server can resolve an exact retained table generation 
and derive its strong ETag without loading the live Iceberg catalog. The public 
`deleted=true` table API is added by #12226.
   
   Review order: #12222 → #12223 → #12225 → #12228 → **this PR** → #12226 → 
#12227.
   
   Incremental diff:
   
https://github.com/nevzheng/gravitino/compare/codex/iceberg-rest-delete-20-01b-delete-api-cache...codex/iceberg-rest-delete-20-01c-deleted-read-model
   
   ### Why are the changes needed?
   
   Deleted-table APIs and conditional UNDROP need one generation-safe 
storage/read boundary that joins the retained table identity with its deletion 
action and supplies a stable public precondition token.
   
   Related: #12221
   
   ### Does this PR introduce _any_ user-facing change?
   
   No. This PR adds the internal joined read model and ETag derivation. The 
existing table API exposes it in #12226.
   
   ### How was this patch tested?
   
   The review-unit head passes focused joined-row storage, exact-name lookup, 
lifecycle mapping, null-retention, safe representation, and strong ETag 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]

Reply via email to