Skip to content

REST: Revert #12818 and additionally stop retrying on 502/504 #13352

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Jul 1, 2025

Conversation

singhpk234
Copy link
Contributor

@singhpk234 singhpk234 commented Jun 19, 2025

About the change

presently, we retry on 502 / 504 as well here, we have a spec definition stating here that when these status are thrown the commit status can be unknown, so says the RFC as something went wrong in the middle of processing the request. So we retry with 502 and 504 we can conflict with ourselves, as we don't know when we receive the status of 409 is it because we retried on 502 and then got 409 or something else happened, so it's better to throw the commit state unknown if we know the commit has been retried.

The Iceberg users who complained this was with 504 : slack thread - https://apache-iceberg.slack.com/archives/C025PH0G1D4/p1747992294134219

We have similar handling for glue as we did here #7198 as there are internal http retries over the glue SDK.

So I Added a PR considering above #12818

But based on offline discussions with more folks, according to the spec its best to not retry on 502 / 504 as it clearly calls out that the status is unknown.

The change attempts to :

Testing

Adding unit tests

cc @amogh-jahagirdar @rdblue @RussellSpitzer

@github-actions github-actions bot added the core label Jun 19, 2025
Copy link
Contributor

@amogh-jahagirdar amogh-jahagirdar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @singhpk234 this looks good just had a minor comment on testing that would be good to address

@amogh-jahagirdar amogh-jahagirdar changed the title REST: Don't retry on 502 and 504 status code REST: Revert #12818 and additionally stop retrying on 502/504 Jun 19, 2025
@singhpk234 singhpk234 force-pushed the fix/irc-client-retries branch from 41ade9a to 34f57db Compare June 19, 2025 01:29
Copy link
Contributor

@amogh-jahagirdar amogh-jahagirdar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @singhpk234 this looks great now! I'll hold off before merging for @RussellSpitzer @rdblue feedback

@RussellSpitzer
Copy link
Member

LGTM, @dennishuo has now scared me of 503's and anonymous 409's (not thrown by the IRC) potentially causing issues but I think we can address that in a follow up if we get consensus.

@RussellSpitzer RussellSpitzer merged commit b1c8bc5 into apache:main Jul 1, 2025
42 checks passed
@RussellSpitzer
Copy link
Member

Thanks @singhpk234 for reverting and fixing again! Thanks @amogh-jahagirdar, @nastra , @dennishuo and @rdblue for discussion and review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants