Skip to content
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

Spanner - add default retryable codes #26727

Merged
merged 6 commits into from
May 17, 2023

Conversation

darshan-sj
Copy link
Contributor

@darshan-sj darshan-sj commented May 17, 2023

Spanner - add default retryable codes


Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

  • Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
  • Update CHANGES.md with noteworthy changes.
  • If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md

GitHub Actions Tests Status (on master branch)

Build python source distribution and wheels
Python tests
Java tests
Go tests

See CI.md for more information about GitHub Actions CI.

@github-actions
Copy link
Contributor

Assigning reviewers. If you would like to opt out of this review, comment assign to next reviewer:

R: @bvolpato for label java.
R: @manavgarg for label io.
R: @nielm for label spanner.

Available commands:

  • stop reviewer notifications - opt out of the automated review tooling
  • remind me after tests pass - tag the comment author after tests pass
  • waiting on author - shift the attention set back to the author (any comment or push by the author will return the attention set to the reviewers)

The PR bot will only process comments in the main thread (not review comments).

@darshan-sj
Copy link
Contributor Author

Run Java_GCP_IO_Direct PreCommit

@bvolpato
Copy link
Contributor

FYI @riteshghorse, Spanner wants to get this in before cut for 2.48.0.

@github-actions
Copy link
Contributor

R: @Abacn for final approval

@pabloem
Copy link
Member

pabloem commented May 17, 2023

Run Java PreCommit

@riteshghorse
Copy link
Contributor

FYI @riteshghorse, Spanner wants to get this in before cut for 2.48.0.

Ack

@riteshghorse
Copy link
Contributor

I'll merge once all tests passes.
Thanks everyone!

@darshan-sj
Copy link
Contributor Author

Run Java PreCommit

@riteshghorse riteshghorse added this to the 2.48.0 Release milestone May 17, 2023
@darshan-sj
Copy link
Contributor Author

Run Java PreCommit

1 similar comment
@darshan-sj
Copy link
Contributor Author

Run Java PreCommit

@riteshghorse
Copy link
Contributor

I think Java PreCommit failure is unrelated to this PR.
image

@darshan-sj
Copy link
Contributor Author

Yes. The failure is not related to this PR and it is flaky. It had passed a couple of runs back.

@riteshghorse
Copy link
Contributor

https://ci-beam.apache.org/job/beam_PreCommit_Java_Cron/6867/ looks like test timed out failure from this build

Can someone from Java take a look, @Abacn what do you think?

@Abacn
Copy link
Contributor

Abacn commented May 17, 2023

Yes it's known issue (#21333), when jenkins gets more heavy load it's timing out more likely. Current practice is go ahead it

@Abacn
Copy link
Contributor

Abacn commented May 17, 2023

btw Java PreCommit even should not trigger in this PR by default as it only touches source under io/google-cloud-platform. The test was triggered by phrase

@pabloem pabloem merged commit 376e292 into apache:master May 17, 2023
@pabloem
Copy link
Member

pabloem commented May 17, 2023

thanks y'all

@@ -113,6 +113,8 @@ private static SpannerAccessor createAndConnect(SpannerConfig spannerConfig) {
SpannerOptions.Builder builder = SpannerOptions.newBuilder();

Set<Code> retryableCodes = new HashSet<>();
// Add default retryable codes
retryableCodes.add(Code.UNAVAILABLE);
Copy link
Contributor

Choose a reason for hiding this comment

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

Could there be a scenario where a user does not want to retry on UNAVAILABLE?

This code would always add UNAVAILABLE even if the user specified their own set of retryable codes, and could therefore lead to unexpected behaviour..

Copy link
Contributor

Choose a reason for hiding this comment

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

Resolved by other changes.

Lgtm

cushon pushed a commit to cushon/beam that referenced this pull request May 24, 2024
* Add default retryable codes

* reading default codes from the settings

* reading default codes from the settings

* spotless fix

* Distinguish unary method retryable codes and streaming method retryable codes

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

Successfully merging this pull request may close these issues.

8 participants