<PackageReference Include="Relativity.Other" Version="13.0.6" />

QueryRetryPolicy<T>

public class QueryRetryPolicy<T>
protected class RetryPolicyException<T> : Exception

public QueryRetryPolicy(Func<T> queryLogic, SqlExecutionLogger logger)

public QueryRetryPolicy(Func<T> queryLogic, SqlExecutionLogger logger, int deadlockRetries, int deadlockWaitMillis, int timeoutRetries, int timeoutBaseWaitMillis, int transientRetries, int transientWaitMillis)

public QueryRetryPolicy(Func<T> queryLogic, SqlExecutionLogger logger, Func<int> deadlockRetries, Func<int> deadlockWaitMillis, Func<int> timeoutRetries, Func<int> timeoutBaseWaitMillis, Func<int> transientRetries, Func<int> transientWaitMillis)

public QueryRetryPolicy(Func<T> queryLogic, SqlExecutionLogger logger, Func<int> deadlockRetries, Func<int> deadlockWaitMillis, Func<int> timeoutRetries, Func<int> timeoutBaseWaitMillis, Func<int> transientRetries, Func<int> transientWaitMillis, Func<double> randomnessSource)

protected virtual Func<T> Failover(Func<T> baseLogic, Func<T> failoverLogic, Func<Exception, bool> checkToFailover)

public void OnAnyException(Action handler)

protected virtual Func<T> Retry(Func<T> baseLogic, Func<int> retries, Func<Exception, bool> retryLogic, Func<Exception, IEnumerable<Exception>, Exception> exceptionAggregator, Func<int, TimeSpan> waitLogic)

public void RetryOnConnectTimeout()

public void RetryOnDeadlock()

public void RetryOnTimeout()

public void RetryWithoutHashJoin(string originalQueryText, Func<string, T> retryQuery)

public void ReturnValueOnCancellation(T defaultValue)

public virtual T RunQuery()

protected virtual Func<T> UnwrapRetryException(Func<T> logic)