Class ConnectionRetryConfig


  • public class ConnectionRetryConfig
    extends java.lang.Object
    Connection Retry Config is controls the period among the retries and when should a client gave up retrying. Exponential behaviour can be chosen or jitter can be added to wait periods.
    • Field Detail

      • DEFAULT_CLUSTER_CONNECT_TIMEOUT_MILLIS

        public static final int DEFAULT_CLUSTER_CONNECT_TIMEOUT_MILLIS
        Default value for the cluster connection timeout.
        See Also:
        Constant Field Values
      • FAILOVER_CLIENT_DEFAULT_CLUSTER_CONNECT_TIMEOUT_MILLIS

        public static final int FAILOVER_CLIENT_DEFAULT_CLUSTER_CONNECT_TIMEOUT_MILLIS
        Timeout used by the failover client to start trying to connect alternative clusters when the cluster connection timeout is equal to DEFAULT_CLUSTER_CONNECT_TIMEOUT_MILLIS.
        See Also:
        Constant Field Values
    • Constructor Detail

      • ConnectionRetryConfig

        public ConnectionRetryConfig()
    • Method Detail

      • getInitialBackoffMillis

        public int getInitialBackoffMillis()
        how long to wait after the first failure before retrying
        Returns:
        initialBackoffMillis
      • setInitialBackoffMillis

        public ConnectionRetryConfig setInitialBackoffMillis​(int initialBackoffMillis)
        Parameters:
        initialBackoffMillis - how long to wait after the first failure before retrying
        Returns:
        updated ConnectionRetryConfig
      • getMaxBackoffMillis

        public int getMaxBackoffMillis()
        When backoff reaches this upper bound, it does not increase any more.
        Returns:
        maxBackoffMillis
      • setMaxBackoffMillis

        public ConnectionRetryConfig setMaxBackoffMillis​(int maxBackoffMillis)
        When backoff reaches this upper bound, it does not increase any more.
        Parameters:
        maxBackoffMillis - upper bound on backoff
        Returns:
        updated ConnectionRetryConfig
      • getMultiplier

        public double getMultiplier()
        factor with which to multiply backoff after a failed retry
        Returns:
        multiplier
      • setMultiplier

        public ConnectionRetryConfig setMultiplier​(double multiplier)
        Parameters:
        multiplier - factor with which to multiply backoff after a failed retry
        Returns:
        updated ConnectionRetryConfig
      • getClusterConnectTimeoutMillis

        public long getClusterConnectTimeoutMillis()
        Timeout value in milliseconds for the client to give up to connect to the current cluster Depending on FailoverConfig, a client can shutdown or start trying on alternative clusters after reaching the timeout. If it is equal to -1, which is the default value, the client will not stop trying to connect to the cluster. If the failover client is used, for the default value, the client will start trying to connect alternative clusters after FAILOVER_CLIENT_DEFAULT_CLUSTER_CONNECT_TIMEOUT_MILLIS. For any other value, both the failover and non-failover client will use that as it is.
        Returns:
        clusterConnectTimeoutMillis
      • setClusterConnectTimeoutMillis

        public ConnectionRetryConfig setClusterConnectTimeoutMillis​(long clusterConnectTimeoutMillis)
        Parameters:
        clusterConnectTimeoutMillis - timeout in milliseconds for the client to give up to connect to the current cluster Depending on FailoverConfig, a client can shutdown or start trying on alternative clusters after reaching the timeout. If set to -1, which is the default value, the client will not stop trying to connect to the cluster. If the failover client is used, for the default value, the client will start trying to connect alternative clusters after FAILOVER_CLIENT_DEFAULT_CLUSTER_CONNECT_TIMEOUT_MILLIS. For any other value, both the failover and non-failover client will use that as it is.
        Returns:
        updated ConnectionRetryConfig
      • getJitter

        public double getJitter()
        by how much to randomize backoffs. At each iteration calculated back-off is randomized via following method Random(-jitter * current_backoff, jitter * current_backoff)
        Returns:
        jitter
      • setJitter

        public ConnectionRetryConfig setJitter​(double jitter)
        At each iteration calculated back-off is randomized via following method Random(-jitter * current_backoff, jitter * current_backoff)
        Parameters:
        jitter - by how much to randomize backoffs
        Returns:
        updated ConnectionRetryConfig
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object