Interface IRetryPolicy
A policy that defines a default behavior to adopt when a request returns a TimeoutException or an UnavailableException. Such policy allows to centralize the handling of query retries, allowing to minimize the need for exception catching/handling in business code.
Namespace: Dse
Assembly: Dse.dll
Syntax
public interface IRetryPolicy
Methods
OnReadTimeout(IStatement, ConsistencyLevel, Int32, Int32, Boolean, Int32)
Defines whether to retry and at which consistency level on a read timeout.
Note that this method may be called even if requiredResponses >=
receivedResponses
if dataPresent
is false
(see com.datastax.driver.core.exceptions.ReadTimeoutException#WasDataRetrieved).
Declaration
RetryDecision OnReadTimeout(IStatement query, ConsistencyLevel cl, int requiredResponses, int receivedResponses, bool dataRetrieved, int nbRetry)
Parameters
Type | Name | Description |
---|---|---|
IStatement | query | the original query that timeouted. |
ConsistencyLevel | cl | the original consistency level of the read that timeouted. |
System.Int32 | requiredResponses | the number of responses that were required to achieve the requested consistency level. |
System.Int32 | receivedResponses | the number of responses that had been received by the time the timeout exception was raised. |
System.Boolean | dataRetrieved | whether actual data (by opposition to data checksum) was present in the received responses. |
System.Int32 | nbRetry | the number of retry already performed for this operation. |
Returns
Type | Description |
---|---|
RetryDecision | the retry decision. If |
OnUnavailable(IStatement, ConsistencyLevel, Int32, Int32, Int32)
Defines whether to retry and at which consistency level on an unavailable exception.
Declaration
RetryDecision OnUnavailable(IStatement query, ConsistencyLevel cl, int requiredReplica, int aliveReplica, int nbRetry)
Parameters
Type | Name | Description |
---|---|---|
IStatement | query | the original query for which the consistency level cannot be achieved. |
ConsistencyLevel | cl | the original consistency level for the operation. |
System.Int32 | requiredReplica | the number of replica that should have been (known) alive for the operation to be attempted. |
System.Int32 | aliveReplica | the number of replica that were know to be alive by the coordinator of the operation. |
System.Int32 | nbRetry | the number of retry already performed for this operation. |
Returns
Type | Description |
---|---|
RetryDecision | the retry decision. If |
OnWriteTimeout(IStatement, ConsistencyLevel, String, Int32, Int32, Int32)
Defines whether to retry and at which consistency level on a write timeout.
Declaration
RetryDecision OnWriteTimeout(IStatement query, ConsistencyLevel cl, string writeType, int requiredAcks, int receivedAcks, int nbRetry)
Parameters
Type | Name | Description |
---|---|---|
IStatement | query | the original query that timeouted. |
ConsistencyLevel | cl | the original consistency level of the write that timeouted. |
System.String | writeType | the type of the write that timeouted. |
System.Int32 | requiredAcks | the number of acknowledgments that were required to achieve the requested consistency level. |
System.Int32 | receivedAcks | the number of acknowledgments that had been received by the time the timeout exception was raised. |
System.Int32 | nbRetry | the number of retry already performed for this operation. |
Returns
Type | Description |
---|---|
RetryDecision | the retry decision. If |