-
Notifications
You must be signed in to change notification settings - Fork 131
fix(3.1.x): UNAVAILABLE error on first query could cause transaction to get stuck #856
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
fix(3.1.x): UNAVAILABLE error on first query could cause transaction to get stuck #856
Conversation
…stuck (googleapis#807) If the first query or read operation of a read/write transaction would return UNAVAILABLE for the first element of the result stream, the transaction could get stuck. This was caused by the internal retry mechanism that would wait for the initial attempt to return a transaction, which was never returned as the UNAVAILABLE exception was internally handled by the result stream iterator. Fixes googleapis#799
All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter. We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the ℹ️ Googlers: Go here for more info. |
Codecov Report
@@ Coverage Diff @@
## 3.1.x #856 +/- ##
=========================================
Coverage 85.05% 85.05%
+ Complexity 2556 2554 -2
=========================================
Files 142 142
Lines 13930 13940 +10
Branches 1326 1330 +4
=========================================
+ Hits 11848 11857 +9
+ Misses 1526 1525 -1
- Partials 556 558 +2
Continue to review full report at Codecov.
|
To fix lint errors
All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter. We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the ℹ️ Googlers: Go here for more info. |
* <li>The default {@link SpannerOptions#getDefaultQueryOptions()} specified for the database | ||
* where the query is executed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This does not seem to be part of this change.
@@ -1071,6 +1071,7 @@ protected PartialResultSet computeNext() { | |||
backoffSleep(context, backOff); | |||
} | |||
} | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: Not part of this change
All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter. We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the ℹ️ Googlers: Go here for more info. |
This is an auto-generated regeneration of the .pb.go files by cloud.google.com/go/internal/gapicgen. Once this PR is submitted, genbot will update the corresponding PR to depend on the newer version of go-genproto, and assign reviewers. Whilst this or any regen PR is open in go-genproto, genbot will not create any more regeneration PRs. If all regen PRs are closed, gapicgen will create a new set of regeneration PRs once per night. If you have been assigned to review this PR, please: - Ensure that CI is passing. If it's failing, it requires your manual attention. - Approve and submit this PR if you believe it's ready to ship. That will prompt genbot to assign reviewers to the google-cloud-go PR. Corresponding google-cloud-go PR: googleapis/google-cloud-go#6333 Changes: chore(python): prepare for the v2beta release of iam python client PiperOrigin-RevId: 460590348 Source-Link: googleapis/googleapis@5688bdb feat(dlp): InfoType categories were added to built-in infoTypes PiperOrigin-RevId: 460542545 Source-Link: googleapis/googleapis@898fcea feat(dataform): add fields for tracking reachable status of resources in list methods feat: add the failure_reason field to workflow invocation actions PiperOrigin-RevId: 460402867 Source-Link: googleapis/googleapis@5c90074 feat(networkmanagement): add new abort cause and new route next hop type PiperOrigin-RevId: 460402186 Source-Link: googleapis/googleapis@5813dcf chore(bazel): move rules_gapic up in WORKSPACE loading order PiperOrigin-RevId: 460327690 Source-Link: googleapis/googleapis@f86f3a2
If the first query or read operation of a read/write transaction would return UNAVAILABLE for the first element of the result stream, the transaction could get stuck. This was caused by the internal retry mechanism that would wait for the initial attempt to return a transaction, which was never returned as the UNAVAILABLE exception was internally handled by the result stream iterator.
Fixes #799