roryqi commented on code in PR #11364:
URL: https://github.com/apache/gravitino/pull/11364#discussion_r3341267279


##########
docs/iceberg-rest-service.md:
##########
@@ -91,6 +91,28 @@ Please note that, it only takes affect in `gravitino.conf`, 
you don't need to sp
 The filter in `customFilters` should be a standard javax servlet filter.
 You can also specify filter parameters by setting configuration entries in the 
style `gravitino.iceberg-rest.<class name of filter>.param.<param 
name>=<value>`.
 
+### Table purge behavior
+
+When a client drops a table with `purgeRequested=true`, Gravitino keeps the 
existing synchronous behavior by default: the catalog entry and the table files 
are removed before the `DELETE` request returns.
+
+When the Iceberg REST service runs as an auxiliary service inside Gravitino, 
an async cleanup worker pool starts automatically and reuses the Gravitino 
entity store relational backend. In standalone mode, async cleanup is not 
available and purge requests always run synchronously.
+
+In auxiliary mode, a client can opt in to asynchronous file cleanup per 
request by sending the HTTP header `X-Gravitino-Async-Purge: true` together 
with `DELETE ...?purgeRequested=true`. The server then removes the catalog 
entry before returning `204 No Content`, records a durable cleanup job in the 
Gravitino relational backend, and deletes the table files in the background. 
While an active cleanup job exists for a table identifier, `createTable` and 
`registerTable` for the same catalog, namespace, and table return `409 
Conflict`; after the cleanup job reaches a terminal state the identifier can be 
reused.

Review Comment:
   Good point. Fixed: the header value is now matched exactly as `true` 
(case-sensitive), only the header name stays case-insensitive per RFC 9110 
ยง5.1. So `True`/`TRUE` no longer opt in. Updated the code, docs, and added a 
test that `True` falls back to synchronous purge.



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