test(retry): add a test which ensures expected behavior of new retry handlers#1119
Merged
BenWhitehead merged 5 commits intogoogleapis:mainfrom Nov 1, 2021
BenWhitehead:retry-regression-unit-tests
Merged
test(retry): add a test which ensures expected behavior of new retry handlers#1119BenWhitehead merged 5 commits intogoogleapis:mainfrom BenWhitehead:retry-regression-unit-tests
BenWhitehead merged 5 commits intogoogleapis:mainfrom
BenWhitehead:retry-regression-unit-tests
Conversation
…handlers In addition to providing the new handlers which are validated to some extent with the retry conformance suite, we also want to ensure we maintain support for "java specific" errors which historically are already handled my the core library. In some ways this also functions as a regression suite of errors we want to keep track of for retry purposes.
frankyn
suggested changes
Oct 27, 2021
...e-cloud-storage/src/test/java/com/google/cloud/storage/DefaultRetryHandlingBehaviorTest.java
Outdated
Show resolved
Hide resolved
...e-cloud-storage/src/test/java/com/google/cloud/storage/DefaultRetryHandlingBehaviorTest.java
Outdated
Show resolved
Hide resolved
frankyn
suggested changes
Oct 27, 2021
...e-cloud-storage/src/test/java/com/google/cloud/storage/DefaultRetryHandlingBehaviorTest.java
Outdated
Show resolved
Hide resolved
...e-cloud-storage/src/test/java/com/google/cloud/storage/DefaultRetryHandlingBehaviorTest.java
Outdated
Show resolved
Hide resolved
...e-cloud-storage/src/test/java/com/google/cloud/storage/DefaultRetryHandlingBehaviorTest.java
Show resolved
Hide resolved
| */ | ||
| @SuppressWarnings("ConstantConditions") | ||
| @Test | ||
| public void validateBehavior() { |
Contributor
There was a problem hiding this comment.
Will there be another validateBehavior when introducing for example Retry All operations?
Collaborator
Author
There was a problem hiding this comment.
I'm not sure we need the same type of test for a Retry All type scenario. If the uniform retry strategy is used by someone, everything will behave as if it is idempotent so all nonidempotent operations will implicitly be more permissive. If specifically the StorageRetryStrategy.getUniformStorageRetryStrategy() is the thing in question, that is implemented to use the idempotent config from the Default strategy and would not be executing new code, it would only be doubling the number of cases.
Add case where storage retry is based on if cause is a special IOException
frankyn
approved these changes
Nov 1, 2021
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In addition to providing the new handlers which are validated to some extent with the retry conformance suite, we also want to ensure we maintain support for "java specific" errors which historically are already handled my the core library. In some ways this also functions as a regression suite of errors we want to keep track of for retry purposes.