Skip to content

Restore retries for stores to remote REAPI byte stores#19737

Merged
stuhood merged 4 commits intomainfrom
huonw/19732-reapi-retry-store
Sep 7, 2023
Merged

Restore retries for stores to remote REAPI byte stores#19737
stuhood merged 4 commits intomainfrom
huonw/19732-reapi-retry-store

Conversation

@huonw
Copy link
Contributor

@huonw huonw commented Aug 31, 2023

This fixes #19732 by restoring the retries when storing hits retryable server failures from the REAPI remote cache server, which were lost in the #19050 refactoring.

This also explicitly tests for retries, refactoring StubCAS to generalise read_request_count to expose the counts of more requests than just reads, and also consistently return a Status::internal(...) for the simulated errors.

I think #19050 fortunately landed just after 2.17 was cut, so this regression only affects the 2.18 pre-releases.

@huonw huonw added the category:internal CI, fixes for not-yet-released features, etc. label Aug 31, 2023
@huonw huonw added this to the 2.18.x milestone Aug 31, 2023
@huonw
Copy link
Contributor Author

huonw commented Aug 31, 2023

(This will have conflicts with #19711, but this one should land first, to make for easier cherrypicking.)

@huonw huonw force-pushed the huonw/19732-reapi-retry-store branch from d89a439 to 2d6a6ff Compare August 31, 2023 07:56
@huonw huonw requested a review from stuhood September 5, 2023 19:35
@stuhood
Copy link
Member

stuhood commented Sep 7, 2023

Adding needs-cherrypick label, since the 2.18.x branch has already been cut.

@stuhood stuhood merged commit b1d9e14 into main Sep 7, 2023
@stuhood stuhood deleted the huonw/19732-reapi-retry-store branch September 7, 2023 21:46
WorkerPants pushed a commit that referenced this pull request Sep 7, 2023
This fixes #19732 by restoring the retries when storing hits retryable
server failures from the REAPI remote cache server, which were lost in
the #19050 refactoring.

This also explicitly tests for retries, refactoring `StubCAS` to
generalise `read_request_count` to expose the counts of more requests
than just reads, and also consistently return a `Status::internal(...)`
for the simulated errors.

I think #19050 fortunately landed just after 2.17 was cut, so this
regression only affects the 2.18 pre-releases.
@WorkerPants
Copy link
Member

I tried to automatically cherry-pick this change back to each relevant milestone, so that it is available in those older releases of Pants.

✔️ 2.18.x

Successfully opened #19798.


Thanks again for your contributions!

🤖 Beep Boop here's my run link

@huonw
Copy link
Contributor Author

huonw commented Sep 7, 2023

Adding needs-cherrypick label, since the 2.18.x branch has already been cut.

Oops, yes, thanks!

huonw added a commit that referenced this pull request Sep 7, 2023
…#19737) (#19798)

This fixes #19732 by restoring the retries when storing hits retryable
server failures from the REAPI remote cache server, which were lost in
the #19050 refactoring.

This also explicitly tests for retries, refactoring `StubCAS` to
generalise `read_request_count` to expose the counts of more requests
than just reads, and also consistently return a `Status::internal(...)`
for the simulated errors.

I think #19050 fortunately landed just after 2.17 was cut, so this
regression only affects the 2.18 pre-releases.

Co-authored-by: Huon Wilson <huon@exoflare.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category:internal CI, fixes for not-yet-released features, etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

REAPI remote cache no longer retries store failures

3 participants