|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface RetryPolicy
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.
| Nested Class Summary | |
|---|---|
static class |
RetryPolicy.RetryDecision
A retry decision to adopt on a Cassandra exception (read/write timeout or unavailable exception). |
| Method Summary | |
|---|---|
RetryPolicy.RetryDecision |
onReadTimeout(Statement statement,
ConsistencyLevel cl,
int requiredResponses,
int receivedResponses,
boolean dataRetrieved,
int nbRetry)
Defines whether to retry and at which consistency level on a read timeout. |
RetryPolicy.RetryDecision |
onUnavailable(Statement statement,
ConsistencyLevel cl,
int requiredReplica,
int aliveReplica,
int nbRetry)
Defines whether to retry and at which consistency level on an unavailable exception. |
RetryPolicy.RetryDecision |
onWriteTimeout(Statement statement,
ConsistencyLevel cl,
WriteType writeType,
int requiredAcks,
int receivedAcks,
int nbRetry)
Defines whether to retry and at which consistency level on a write timeout. |
| Method Detail |
|---|
RetryPolicy.RetryDecision onReadTimeout(Statement statement,
ConsistencyLevel cl,
int requiredResponses,
int receivedResponses,
boolean dataRetrieved,
int nbRetry)
Note that this method may be called even if
requiredResponses >= receivedResponses if dataPresent is
false (see
ReadTimeoutException.wasDataRetrieved()).
statement - the original query that timeouted.cl - the original consistency level of the read that timeouted.requiredResponses - the number of responses that were required to
achieve the requested consistency level.receivedResponses - the number of responses that had been received
by the time the timeout exception was raised.dataRetrieved - whether actual data (by opposition to data checksum)
was present in the received responses.nbRetry - the number of retry already performed for this operation.
RetryDecision.RETHROW is returned,
a ReadTimeoutException will
be thrown for the operation.
RetryPolicy.RetryDecision onWriteTimeout(Statement statement,
ConsistencyLevel cl,
WriteType writeType,
int requiredAcks,
int receivedAcks,
int nbRetry)
statement - the original query that timeouted.cl - the original consistency level of the write that timeouted.writeType - the type of the write that timeouted.requiredAcks - the number of acknowledgments that were required to
achieve the requested consistency level.receivedAcks - the number of acknowledgments that had been received
by the time the timeout exception was raised.nbRetry - the number of retry already performed for this operation.
RetryDecision.RETHROW is returned,
a WriteTimeoutException will
be thrown for the operation.
RetryPolicy.RetryDecision onUnavailable(Statement statement,
ConsistencyLevel cl,
int requiredReplica,
int aliveReplica,
int nbRetry)
statement - the original query for which the consistency level cannot
be achieved.cl - the original consistency level for the operation.requiredReplica - the number of replica that should have been
(known) alive for the operation to be attempted.aliveReplica - the number of replica that were know to be alive by
the coordinator of the operation.nbRetry - the number of retry already performed for this operation.
RetryDecision.RETHROW is returned,
an UnavailableException will
be thrown for the operation.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||