Hi Dmitri, Thanks for the reply and the detailed comments in the proposal. You’re right: the goal is to implement the recently approved Iceberg Idempotency-Key spec, and we don’t plan any additional REST Catalog API changes in Polaris. I’ve refocused the proposal on the server-side implementation and agree we should land the REST Catalog work first, then extend to the Management API.
I addressed your inline comments and added a small, backend-agnostic Idempotency Persistence API (reserve/load/heartbeat/finalize/purge) so it works across all storage backends (Postgres first). On the async tasks framework: agreed — there are synergies. I’ll keep this in mind and align the idempotency store semantics with the async tasks model. Best, Huaxin On Tue, Nov 25, 2025 at 12:21 PM Dmitri Bourlatchkov <[email protected]> wrote: > Hi Huaxin, > > Thanks for resuming this proposal! > > In general, I suppose the intention is to implement the recently approved > Iceberg REST Catalog spec change for Idempotency Keys. With that in mind, I > believe the Polaris proposal probably needs to be more focused on the > server side implementation now that the API spec has been finalized. I do > not think Polaris needs any other API changes in the REST Catalog on top of > the Iceberg spec. > > I'd propose to deal with the REST Catalog API first and then extend to the > Management API (for the sake of simplicity). > > I added some more specific comments in the doc, but overall, I believe we > need to consider what needs to be changed in the java Persistence API in > Polaris because the idempotency feature probably applies to all backends. > > Also, as I commented [1] in earlier emails about this proposal, I believe > some synergies can be found with the async tasks framework [2]. The main > point here is orchestrating request execution among a set of distributed > server nodes. > > [1] https://lists.apache.org/thread/28hx9kl4qmm5sho8jxmjlt6t0cd0hn6d > > [2] https://lists.apache.org/thread/gg0kn89vmblmjgllxn7jkn8ky2k28f5l > > Cheers, > Dmitri. > > > On Sat, Nov 22, 2025 at 7:50 PM huaxin gao <[email protected]> wrote: > > > Hi all, > > I would like to restart the discussion on Idempotency-Key support in > > Polaris. This proposal focuses on Polaris server-side behavior and > > implementation details, with the Iceberg spec as the baseline API > contract. > > Thanks for your review and feedback. > > > > Polaris Idempotency Key Proposal > > < > > > https://docs.google.com/document/d/1ToMMziFIa7DNJ6CxR5RSEg1dgJSS1zFzZfbngDz-EeU/edit?tab=t.0#heading=h.ecn4cggb6uy7 > > > > > > > Iceberg Idempotency Key Proposal > > < > > > https://docs.google.com/document/d/1WyiIk08JRe8AjWh63txIP4i2xcIUHYQWFrF_1CCS3uw/edit?tab=t.0#heading=h.jfecktgonj1i > > > > > > > Best, > > Huaxin > > >
