feat: add ability to partially update retry settings #993
feat: add ability to partially update retry settings #993
Conversation
Codecov Report
@@ Coverage Diff @@
## master #993 +/- ##
============================================
+ Coverage 78.66% 78.67% +<.01%
Complexity 1167 1167
============================================
Files 204 204
Lines 5152 5154 +2
Branches 413 413
============================================
+ Hits 4053 4055 +2
Misses 925 925
Partials 174 174
Continue to review full report at Codecov.
|
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.
In general I believe making nested builders is not salable and error-prone (each level of nested builders needs to propagate its "building" logic all way up to the bottom).
If this comes from the real users experience and really makes their life easier, then probably it is worth doing it. Please check the comments first.
gax/src/main/java/com/google/api/gax/rpc/UnaryCallSettings.java
Outdated
Show resolved
Hide resolved
gax/src/main/java/com/google/api/gax/rpc/UnaryCallSettings.java
Outdated
Show resolved
Hide resolved
e63b6de
to
5f245c9
Compare
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.
LGTM
Thanks for the review! Will merge after presubmits finish |
@vam-google something weird is happening with kokoro...the integration, dependencies, format and binary compat presubmits never finish |
@chingor13 Do you have any ideas what is happening with kokoro? |
The setting configuration for the org got messed up and created extra required checks on repos it should have ignored. We should be able to remove those required checks, but I'm not an admin on this repo so I can't do it. |
The current approach to updating retry settings is very error prone. We've had a few customers accidentally disable retries trying to update the total timeout doing something like:
The correct way is not really intuitive and quite verbose:
This PR exposes the underlying RetrySettings.Builder in Unary & ServerStreaming CallSettings. This allows the following pattern: