+1 (binding)

The 503 response + Retry-After header seems reasonable for this case, per
the discussion thread.

Cheers,
Dmitri.

On Thu, Jul 16, 2026 at 10:44 AM vignesh a <[email protected]> wrote:

> Hi all,
>
> Following the recent [DISCUSS] thread [1], I'd like to call a vote on the
> HTTP status code to return when a table or view rename operation fails with
> TARGET_ENTITY_CONCURRENTLY_MODIFIED.
>
> *Background* 409 Conflict and 429 Too Many Requests were discussed as
> alternatives. However:
>
>    - 409 conflicts with the Iceberg REST spec's existing meaning ("target
>    identifier already exists"), so clients would misinterpret it.
>    - 429 implies rate limiting and carries Retry-After semantics that don't
>    apply here.
>
> The discussion converged on *503 Service Unavailable* as the cleanest
> option - it is retryable and avoids the semantic conflicts above.
>
> *Proposal * Return HTTP *503 Service Unavailable* when a table/view rename
> fails with TARGET_ENTITY_CONCURRENTLY_MODIFIED. This signals a temporary
> condition that clients can retry. Server-side automatic retries are *out of
> scope* for this change and can be considered separately later.
>
> My vote: *+1*
>
> Please cast your vote by replying to this thread:
>
> [ ] *+1 / Yes* -- Approve returning 503 [ ] *-1 / No* -- Reject this
> proposal and resume discussion [ ] *0* -- Abstain
>
> This vote will remain open for 72 hours and close at *14:00 UTC on Sunday,
> 19 July 2026*.
>
> Thanks, *Vignesh*
>
> [1] https://lists.apache.org/thread/tr8zh8121t2jb41s0q2yd9s73y2tp2tq
>
> This change is implemented in PR #4646
> <https://github.com/apache/polaris/pull/4646> .
>

Reply via email to