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