apache / apache/polaris

Server-side retry for conflicting rename operations

Open
#4,729 1 comment 0 reactions 0 assignees View on GitHub
stale
Dominant language
Java
Stars
2.1k
Forks
522
Avg merge
1d 22h
Merged PRs (30d)
137

Description

Follow-up from #4646.

When two rename operations happen at the same time, Polaris currently returns HTTP 503 (TARGET_ENTITY_CONCURRENTLY_MODIFIED). While this works, 503 usually means the server is unavailable and may cause clients or proxies to apply unnecessary backoff.

A better approach would be to retry conflicting rename operations on the server side so that temporary conflicts can be resolved automatically instead of returning an error to the client.

References:

* PR: https://github.com/apache/polaris/pull/4646
* Dev discussion: https://lists.apache.org/thread/tr8zh8121t2jb41s0q2yd9s73y2tp2tq

Contributor guide

Open the contributing guide

Research direction

Review PR #4646 and the linked development discussion to locate the rename conflict handling that returns TARGET_ENTITY_CONCURRENTLY_MODIFIED. Trace how concurrent renames are detected and determine the retry behavior needed; done means temporary conflicts are retried server-side instead of returning HTTP 503 to the client.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, backend, distributed-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.