Class RequestRetryOptions

    • Constructor Detail

      • RequestRetryOptions

        public RequestRetryOptions()
        Configures how the HttpPipeline should retry requests.
      • RequestRetryOptions

        public RequestRetryOptions​(RetryPolicyType retryPolicyType,
                                   Integer maxTries,
                                   Integer tryTimeoutInSeconds,
                                   Long retryDelayInMs,
                                   Long maxRetryDelayInMs,
                                   String secondaryHost)
        Configures how the HttpPipeline should retry requests.
        Parameters:
        retryPolicyType - Optional. A RetryPolicyType specifying the type of retry pattern to use, default value is EXPONENTIAL.
        maxTries - Optional. Maximum number of attempts an operation will be retried, default is 4.
        tryTimeoutInSeconds - Optional. Specified the maximum time allowed before a request is cancelled and assumed failed, default is Integer.MAX_VALUE s.

        This value should be based on the bandwidth available to the host machine and proximity to the Storage service, a good starting point may be 60 seconds per MB of anticipated payload size.

        retryDelayInMs - Optional. Specifies the amount of delay to use before retrying an operation, default value is 4ms when retryPolicyType is EXPONENTIAL and 30ms when retryPolicyType is FIXED.
        maxRetryDelayInMs - Optional. Specifies the maximum delay allowed before retrying an operation, default value is 120ms.
        secondaryHost - Optional. Specified a secondary Storage account to retry requests against, default is none.

        Before setting this understand the issues around reading stale and potentially-inconsistent data, view these Azure Docs for more information.

        Throws:
        IllegalArgumentException - If getRetryDelayInMs and getMaxRetryDelayInMs are not both null or non-null or retryPolicyType isn't RetryPolicyType.EXPONENTIAL or RetryPolicyType.FIXED.
      • RequestRetryOptions

        public RequestRetryOptions​(RetryPolicyType retryPolicyType,
                                   Integer maxTries,
                                   Duration tryTimeout,
                                   Duration retryDelay,
                                   Duration maxRetryDelay,
                                   String secondaryHost)
        Configures how the HttpPipeline should retry requests.
        Parameters:
        retryPolicyType - Optional. A RetryPolicyType specifying the type of retry pattern to use, default value is EXPONENTIAL.
        maxTries - Optional. Maximum number of attempts an operation will be retried, default is 4.
        tryTimeout - Optional. Specified the maximum time allowed before a request is cancelled and assumed failed, default is Integer.MAX_VALUE.

        This value should be based on the bandwidth available to the host machine and proximity to the Storage service, a good starting point may be 60 seconds per MB of anticipated payload size.

        retryDelay - Optional. Specifies the amount of delay to use before retrying an operation, default value is 4ms when retryPolicyType is EXPONENTIAL and 30ms when retryPolicyType is FIXED.
        maxRetryDelay - Optional. Specifies the maximum delay allowed before retrying an operation, default value is 120ms.
        secondaryHost - Optional. Specified a secondary Storage account to retry requests against, default is none.

        Before setting this understand the issues around reading stale and potentially-inconsistent data, view these Azure Docs for more information.

        Throws:
        IllegalArgumentException - If getRetryDelayInMs and getMaxRetryDelayInMs are not both null or non-null or retryPolicyType isn't RetryPolicyType.EXPONENTIAL or RetryPolicyType.FIXED.
    • Method Detail

      • getMaxTries

        public int getMaxTries()
        Returns:
        the maximum number of retries that will be attempted.
      • getTryTimeout

        @Deprecated
        public int getTryTimeout()
        Deprecated.
        Returns:
        the maximum time, in seconds, allowed for a request until it is considered timed out.
      • getTryTimeoutDuration

        public Duration getTryTimeoutDuration()
        Returns:
        the maximum time, in seconds, allowed for a request until it is considered timed out.
      • getSecondaryHost

        public String getSecondaryHost()
        Returns:
        the URI of the secondary host where retries are attempted. If this is null then there is no secondary host and all retries are attempted against the original host.
      • getRetryDelayInMs

        @Deprecated
        public long getRetryDelayInMs()
        Deprecated.
        Returns:
        the delay in milliseconds between each retry attempt.
      • getRetryDelay

        public Duration getRetryDelay()
        Returns:
        the delay between each retry attempt.
      • getMaxRetryDelayInMs

        @Deprecated
        public long getMaxRetryDelayInMs()
        Deprecated.
        Returns:
        the maximum delay in milliseconds allowed between each retry.
      • getMaxRetryDelay

        public Duration getMaxRetryDelay()
        Returns:
        the maximum delay allowed between each retry.