Server-side retry for conflicting rename operations
- 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
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