roryqi opened a new issue, #11363:
URL: https://github.com/apache/gravitino/issues/11363

   ### Describe the subtask
   
   Wire the async cleanup engine (#11298) into the Iceberg REST request path — 
the final PR (3 of 3) of the async hard-deletion feature.
   
   - Branch `IcebergTableOperationExecutor.dropTable` on the 
`X-Gravitino-Async-Purge` request header: absent ⇒ synchronous purge (today's 
default); `true` (auxiliary mode) ⇒ snapshot the table's metadata location, 
drop the catalog entry, and enqueue an `IcebergCleanupJob` keyed by catalog id 
instead of deleting files inline.
   - Enforce the §5.7 name-reuse tombstone: while an active cleanup job 
occupies an identifier, `createTable` / `registerTable` for the same 
catalog/namespace/table return `409 Conflict`.
   - Expose the table metadata location and FileIO config on 
`IcebergCatalogWrapper`, carry the async flag on `IcebergRequestContext`, and 
start/stop `IcebergCleanupManager` in `RESTService` (auxiliary mode only; 
standalone falls back to synchronous purge).
   - Document the async semantics, the `X-Gravitino-Async-Purge` header, and 
the `async-cleanup.*` config.
   
   Design: `design-docs/async-iceberg-rest-hard-deletion.md` (§5.3, §5.7, 
§5.10). Prior PRs: persistence layer (#11266, merged), cleanup manager (#11298, 
merged).
   
   ### Parent issue
   
   #11265


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