huaxingao opened a new pull request, #3803:
URL: https://github.com/apache/polaris/pull/3803

   <!--
   ๐Ÿ“ Describe what changes you're proposing, especially breaking or user-facing 
changes. 
   ๐Ÿ“– See https://github.com/apache/polaris/blob/main/CONTRIBUTING.md for more.
   -->
   This PR introduces optional Idempotency-Key handling for Iceberg REST 
mutation endpoints to support safe client retries.
   
   Adds an HTTP request/response filter that:
   
   - validates UUIDv7 keys,
   - reserves keys and enforces operation/resource binding (422 on conflict),
   - waits for in-progress duplicates and replays finalized responses,
   - never finalizes/replays 5xx.
   
   Persists a bounded response body plus an allowlisted set of response headers 
and replays with correct Content-Type.
   
   Adds optional heartbeats and background purge of expired keys.
   
   Advertises idempotency-key-lifetime via GET /v1/config for Polaris-managed 
(INTERNAL) catalogs only.
   
   Includes small config knobs for wait/lease TTL and TTL grace.
   
   **Note:** reconciliation/takeover for stale in-progress keys is 
intentionally deferred to a follow-up PR.
   
   ## Checklist
   - [ ] ๐Ÿ›ก๏ธ Don't disclose security issues! (contact [email protected])
   - [ ] ๐Ÿ”— Clearly explained why the changes are needed, or linked related 
issues: Fixes #
   - [ ] ๐Ÿงช Added/updated tests with good coverage, or manually tested (and 
explained how)
   - [ ] ๐Ÿ’ก Added comments for complex logic
   - [ ] ๐Ÿงพ Updated `CHANGELOG.md` (if needed)
   - [ ] ๐Ÿ“š Updated documentation in `site/content/in-dev/unreleased` (if needed)
   


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