-
Notifications
You must be signed in to change notification settings - Fork 65
gax: Consider removing @BetaApi and/or adding @InternalExtensionOnly to retry surface #2096
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
Comments
Following the same format as #2100: cc: @blakeli0, @lqiu96 - let me know if you agree with the below proposals and I can implement the decision. The main caveat to all of the below is if we plan to do a refactoring of how Retries work. If so, then I might suggest we not change the ScheduledRetryingExecutor.createFutureHow long has this API been around?Originally added in: googleapis/gax-java#590 How much variation occurred in the API over time?Has not changed since it was introduced. Any other context?The original PR suggests this class was added for OpenCensus integration (which is now deprecated). They mention that when gax drops support for Java 7, it could be refactored. We have dropped support for Java 7 in gax, but any refactoring efforts would need to be part of a future planned project. ProposalThe class it returns: I think it would make sense to add RetrySettings.setLogicalTimeoutHow long has this API been around?Originally added in: googleapis/gax-java#1334 How much variation occurred in the API over time?Has not changed since it was introduced. ProposalRemove the RetryingContextHow long has this API been around?Originally added in: googleapis/gax-java#590 How much variation occurred in the API over time?It changed once, 3 years ago, to enable support for RetrySettings (googleapis/gax-java#1238) Any other context?The original PR suggests this class was added for OpenCensus integration (which is now deprecated), to access per-operation state. This is likely being used for OpenTelemetry (replacing OpenCensus). ProposalRemove the RetryAlgorithm.getResultAlgorithmHow long has this API been around?Originally added in: googleapis/gax-java#632 How much variation occurred in the API over time?It changed once, 3 years ago, to enable support for RetrySettings (googleapis/gax-java#1238) Any other context?The original PR suggests this class was added for OpenCensus integration (which is now deprecated), and the BetaAnnotation was because was for that future OpenCensus integration. ProposalRemove the RetryAlgorithm.getTimedAlgorithmHow long has this API been around?Originally added in: googleapis/gax-java#632 How much variation occurred in the API over time?It changed once, 3 years ago, to enable support for RetrySettings (googleapis/gax-java#1238) Any other context?The original PR suggests this class was added for OpenCensus integration (which is now deprecated), and the BetaAnnotation was because was for that future OpenCensus integration. ProposalRemove the |
From the Javadocs of sdk-platform-java/api-common-java/src/main/java/com/google/api/core/InternalExtensionOnly.java Line 53 in 739ddbb
I think this might require a breaking change? From a quick glance, I think everything besides |
Hmm good catch - I think most of gax in generally is probably ideally under a "Internal" type of flag as they aren't really things we want customers messing around with, but to your point sounds like we probably can't do that until we have a planned major version bump. |
Yeah agreed. I think most (probably all) of the classes above should be marked with For this ticket, I think we can just try to remove as much of the |
Decide whether to add @InternalExtensionOnly to the following retry elements, and whether to remove @BetaApi
sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/ScheduledRetryingExecutor.java
Line 98 in decd7f6
sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/RetrySettings.java
Line 309 in decd7f6
sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/RetryingContext.java
Line 44 in decd7f6
https://github.com/googleapis/sdk-platform-java/blame/decd7f60017d45288e6c12493fa21e06f9c5f77c/gax-java/gax/src/main/java/com/google/api/gax/retrying/RetryAlgorithm.java#L258
https://github.com/googleapis/sdk-platform-java/blame/decd7f60017d45288e6c12493fa21e06f9c5f77c/gax-java/gax/src/main/java/com/google/api/gax/retrying/RetryAlgorithm.java#L264
The text was updated successfully, but these errors were encountered: