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

   
   Implement HTTP ETag-based conditional request support for the Iceberg REST 
server's loadTable endpoint to enable freshness-aware caching.
   
   When loading a table, the server now generates an ETag header from a SHA-256 
hash of the table's metadata file location. If the client sends an 
If-None-Match header matching the current ETag, the server responds with HTTP 
304 Not Modified instead of the full table metadata payload.
   
   This allows compute engines that cache Iceberg metadata (e.g., Impala) to 
skip re-fetching unchanged metadata, improving read-heavy workload performance.
   
   Changes:
   - Add If-None-Match header parameter to IcebergTableOperations.loadTable
   - Generate ETag from metadata file location via SHA-256 hash
   - Return 304 Not Modified when client ETag matches, 200 with ETag otherwise
   - Add tests: ETag presence, 304 on match, 200 on mismatch, ETag changes 
after update, and ETag consistency across loads
   
   Closes: #9736
   


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