Conversation

BenWhitehead
  1. Add new configuration option StorageOptions.Builder#setStorageRetryStrategy
  2. Add new interface StorageRetryStrategy
  3. Update all calls to be made idempotency aware
  4. Change default behavior of automatic retries to only retry those operations which are deemed to be idempotent
  5. Add @deprecated method StorageRetryStrategy.getLegacyStorageRetryStrategy providing access to a strategy which matches the previous sometimes unsafe behavior

@BenWhiteheadBenWhitehead requested a review from a team as a code owner November 1, 2021 20:37
@google-clagoogle-cla bot added the cla: yesThis human has signed the Contributor License Agreement.label Nov 1, 2021
@product-auto-labelproduct-auto-label bot added the api: storageIssues related to the googleapis/java-storage API.label Nov 1, 2021

Choose a reason for hiding this comment

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

🚢 it!

@frankynfrankyn requested a review from tritone November 1, 2021 21:14

Choose a reason for hiding this comment

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

Can I just say how delightful it is that the PR to actually change this behavior ended up being <10 lines?

1. Add new configuration option `StorageOptions.Builder#setStorageRetryStrategy`
2. Add new interface `StorageRetryStrategy`
3. Update all calls to be made idempotency aware
4. Change default behavior of automatic retries to only retry those operations which are deemed to be idempotent
5. Add @deprecated method `StorageRetryStrategy.getLegacyStorageRetryStrategy` providing access to a strategy which matches the previous sometimes unsafe behavior
@BenWhitehead

Hehe, yeah the 10 lines felt great. Then the tests not setting IfGenerationMatch reared their head :(

Sign up for free to join this conversation on . Already have an account? Sign in to comment
api: storageIssues related to the googleapis/java-storage API.cla: yesThis human has signed the Contributor License Agreement.
None yet

Successfully merging this pull request may close these issues.