Hi Huaxin,

I looked at the PR briefly. It appears to add a persistence SPI for storing
information related to the processing of Idempotency Keys.

I do not have any particular comment about that interface itself ATM, but I
suppose it will be used (eventually) in conjunction with coordinating
request processing in multiple Polaris server nodes. This aspect is not
apparent in PR 3205 and IIRC it is not discussed in depth in the proposal
doc (please correct me if I missed that). The updateHeartbeat() method is
declared, but how it is supposed to be used is not clear to me.

So, in order to better understand how the proposed persistence SPI can work
end-to-end, could you expand on your proposal for coordinating retry
processing across nodes and how that will relate to persistence?

Specifically, I mean the case when a retry is submitted by a client to one
node while another node is still processing the original request. Another
case is when the original request node crashes without updating the
persisted data.

Additionally, what is your vision regarding the cleanup of old Idempotency
records? Is this a collaborative process where all server nodes participate
equally?

Thanks,
Dmitri.

On Thu, Dec 4, 2025 at 4:53 PM huaxin gao <[email protected]> wrote:

> Hi all,
>
> Following the earlier idempotency proposal, I’ve opened a PR
> <https://github.com/apache/polaris/pull/3205> that adds the first
> implementation of idempotency retries to Polaris core and would like
> feedback on the Java design.
>
> The PR introduces:
>
>    -
>
>    org.apache.polaris.core.persistence.IdempotencyStore – an SPI to
>    reserve/load/finalize/purge idempotency records (with ReserveResult /
>    ReserveResultType).
>
>
>    -
>
>    org.apache.polaris.idempotency.IdempotencyRecord – the value type for
>    stored idempotency metadata.
>
>
>    -
>
>    PostgresIdempotencyStore + PostgresIdempotencyStoreIT – a
>    relational‑jdbc implementation backed by
>    POLARIS_SCHEMA.idempotency_records, tested via Testcontainers/Postgres.
>
> Please take a look at the PR and reply here or comment on the change with
> any concerns or suggestions.
>
> Thanks,
>
> Huaxin
>

Reply via email to