Class ClickHouseRetryPolicy
- Namespace
- LinqToDB.DataProvider.ClickHouse
- Assembly
- linq2db.dll
Retry policy handles only following exceptions:
- Octonica client ClickHouseException with codes ClickHouseErrorCodes.InvalidConnectionState, ClickHouseErrorCodes.ConnectionClosed, ClickHouseErrorCodes.NetworkError
- MySqlConnector
MySqlException.IsTransient == true
(requires .NET 6+ and MySqlConnector 1.3.0 or greater)
public class ClickHouseRetryPolicy : RetryPolicyBase, IRetryPolicy
- Inheritance
-
ClickHouseRetryPolicy
- Implements
- Inherited Members
- Extension Methods
Constructors
ClickHouseRetryPolicy()
Creates a new instance of ClickHouseRetryPolicy.
public ClickHouseRetryPolicy()
ClickHouseRetryPolicy(int)
Creates a new instance of ClickHouseRetryPolicy.
public ClickHouseRetryPolicy(int maxRetryCount)
Parameters
maxRetryCount
intThe maximum number of retry attempts.
ClickHouseRetryPolicy(int, TimeSpan, double, double, TimeSpan, ICollection<int>?)
Creates a new instance of ClickHouseRetryPolicy.
public ClickHouseRetryPolicy(int maxRetryCount, TimeSpan maxRetryDelay, double randomFactor, double exponentialBase, TimeSpan coefficient, ICollection<int>? errorNumbersToAdd)
Parameters
maxRetryCount
intThe maximum number of retry attempts.
maxRetryDelay
TimeSpanThe maximum delay in milliseconds between retries.
randomFactor
doubleThe maximum random factor.
exponentialBase
doubleThe base for the exponential function used to compute the delay between retries.
coefficient
TimeSpanThe coefficient for the exponential function used to compute the delay between retries.
errorNumbersToAdd
ICollection<int>Additional SQL error numbers that should be considered transient.
Methods
GetNextDelay(Exception)
Determines whether the operation should be retried and the delay before the next attempt.
protected override TimeSpan? GetNextDelay(Exception lastException)
Parameters
lastException
ExceptionThe exception thrown during the last execution attempt.
Returns
- TimeSpan?
Returns the delay indicating how long to wait for before the next execution attempt if the operation should be retried;
null
otherwise
ShouldRetryOn(Exception)
Determines whether the specified exception represents a transient failure that can be compensated by a retry.
protected override bool ShouldRetryOn(Exception exception)
Parameters
exception
ExceptionThe exception object to be verified.
Returns
- bool
true
if the specified exception is considered as transient, otherwisefalse
.