williamhyun commented on code in PR #17332:
URL: https://github.com/apache/iceberg/pull/17332#discussion_r3661760811


##########
open-api/rest-catalog-open-api.yaml:
##########
@@ -1429,6 +1429,67 @@ paths:
         5XX:
           $ref: '#/components/responses/ServerErrorResponse'
 
+  /v1/{prefix}/namespaces/{namespace}/tables/{table}/presign:
+    parameters:
+      - $ref: '#/components/parameters/prefix'
+      - $ref: '#/components/parameters/namespace'
+      - $ref: '#/components/parameters/table'
+
+    post:
+      tags:
+        - Catalog API
+      summary: Refreshes pre-signed URLs for files from a completed scan 
planning result
+      description: >
+        Refreshes pre-signed URLs for a set of files that were returned as 
part of a
+        previous server-side scan planning result, identified by its plan-id.
+
+
+        This endpoint is intended for lightweight, proactive renewal of 
expiring URLs
+        (for example by a background caching daemon) and does not re-evaluate 
the
+        table's manifests or any pushed-down filters. It is only available 
when the
+        pre-signed-urls access delegation mechanism has been negotiated with 
the
+        planTableScan endpoint via the X-Iceberg-Access-Delegation header.

Review Comment:
   +1 on keeping this endpoint separate from remote scan planning.
   
   As @singhpk234 mentions above, an optional plan-id would help with the 
correctness of refreshes, but is not required. Instead we could have a refresh 
mechanism on the client side to collect and keep track of pre-signed URLs and 
refresh them -- either driver-based or executor-based -- the POC linked in this 
PR demonstrates the executor-based approach.



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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to