smiroslav commented on code in PR #1748:
URL: https://github.com/apache/jackrabbit-oak/pull/1748#discussion_r1840716523
##########
oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/util/AzureRequestOptions.java:
##########
@@ -45,52 +43,43 @@ public class AzureRequestOptions {
private AzureRequestOptions() {
}
- /**
- * Apply default request options to the blobRequestOptions if they are not
already set.
- * @param blobRequestOptions
- */
- public static void applyDefaultRequestOptions(BlobRequestOptions
blobRequestOptions) {
- if (blobRequestOptions.getRetryPolicyFactory() == null) {
- int retryAttempts = Integer.getInteger(RETRY_ATTEMPTS_PROP,
DEFAULT_RETRY_ATTEMPTS);
- if (retryAttempts > 0) {
- Integer retryBackoffSeconds =
Integer.getInteger(RETRY_BACKOFF_PROP, DEFAULT_RETRY_BACKOFF_SECONDS);
- blobRequestOptions.setRetryPolicyFactory(new
RetryLinearRetry((int) TimeUnit.SECONDS.toMillis(retryBackoffSeconds),
retryAttempts));
- }
- }
- if (blobRequestOptions.getMaximumExecutionTimeInMs() == null) {
- int timeoutExecution = Integer.getInteger(TIMEOUT_EXECUTION_PROP,
DEFAULT_TIMEOUT_EXECUTION);
- if (timeoutExecution > 0) {
- blobRequestOptions.setMaximumExecutionTimeInMs((int)
TimeUnit.SECONDS.toMillis(timeoutExecution));
- }
- }
- if (blobRequestOptions.getTimeoutIntervalInMs() == null) {
- int timeoutInterval = Integer.getInteger(TIMEOUT_INTERVAL_PROP,
DEFAULT_TIMEOUT_INTERVAL);
- if (timeoutInterval > 0) {
- blobRequestOptions.setTimeoutIntervalInMs((int)
TimeUnit.SECONDS.toMillis(timeoutInterval));
- }
- }
+
+ public static RequestRetryOptions getRetryOptionsDefault() {
+ return getRetryOptionsDefault(null);
+ }
+
+ public static RequestRetryOptions getRetryOptionsDefault(String
secondaryHost) {
+ int retryAttempts = Integer.getInteger(RETRY_BACKOFF_PROP,
DEFAULT_RETRY_BACKOFF_SECONDS);
+ int timeoutExecution = Integer.getInteger(TIMEOUT_EXECUTION_PROP,
DEFAULT_TIMEOUT_EXECUTION);
+ int timeoutInterval = Integer.getInteger(TIMEOUT_INTERVAL_PROP,
DEFAULT_TIMEOUT_INTERVAL);
+ long timeoutIntervalToMs = timeoutInterval * 1_000L;
+ long timeoutIntervalMax = timeoutIntervalToMs * 5;
+
+ return new RequestRetryOptions(RetryPolicyType.EXPONENTIAL,
+ retryAttempts,
+ timeoutExecution,
+ timeoutIntervalToMs,
Review Comment:
the intent of ```TIMEOUT_INTERVAL_PROP``` was to specify max execution time
for one retry
From the Java documentation
```
Sets the timeout to use when making this request.
The server timeout interval begins at the time that the complete request has
been received by the service, and the server begins processing the response. If
the timeout interval elapses before the response is returned to the client, the
operation times out. The timeout interval resets with each retry, if the
request is retried.
```
You can check the intent of the properties in the linked below nad map it to
the corresponding ones in v12
https://github.com/Azure/azure-storage-java/blob/v8.6.6/microsoft-azure-storage/src/com/microsoft/azure/storage/RequestOptions.java#L266
`timeoutIntervalToMs ` should be the third argument.
https://learn.microsoft.com/en-us/java/api/com.azure.storage.common.policy.requestretryoptions?view=azure-java-stable#com-azure-storage-common-policy-requestretryoptions-requestretryoptions(com-azure-storage-common-policy-retrypolicytype-java-lang-integer-java-lang-integer-java-lang-long-java-lang-long-java-lang-string)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]