public class LoggingRetryPolicy extends Object implements RetryPolicy
Note that this policy only log the IGNORE and RETRY decisions (since RETHROW decisions are just meant to propagate the cassandra exception). The logging is done at the INFO level.
RetryPolicy.RetryDecision
Constructor and Description |
---|
LoggingRetryPolicy(RetryPolicy policy)
Creates a new
RetryPolicy that logs the decision of policy . |
Modifier and Type | Method and Description |
---|---|
RetryPolicy.RetryDecision |
onReadTimeout(Query query,
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(Query query,
ConsistencyLevel cl,
int requiredReplica,
int aliveReplica,
int nbRetry)
Defines whether to retry and at which consistency level on an
unavailable exception.
|
RetryPolicy.RetryDecision |
onWriteTimeout(Query query,
ConsistencyLevel cl,
WriteType writeType,
int requiredAcks,
int receivedAcks,
int nbRetry)
Defines whether to retry and at which consistency level on a write timeout.
|
public LoggingRetryPolicy(RetryPolicy policy)
RetryPolicy
that logs the decision of policy
.policy
- the policy to wrap. The policy created by this constructor
will return the same decision than policy
but will log them.public RetryPolicy.RetryDecision onReadTimeout(Query query, ConsistencyLevel cl, int requiredResponses, int receivedResponses, boolean dataRetrieved, int nbRetry)
RetryPolicy
Note that this method may be called even if
requiredResponses >= receivedResponses
if dataPresent
is
false
(see
ReadTimeoutException.wasDataRetrieved()
).
onReadTimeout
in interface RetryPolicy
query
- 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.public RetryPolicy.RetryDecision onWriteTimeout(Query query, ConsistencyLevel cl, WriteType writeType, int requiredAcks, int receivedAcks, int nbRetry)
RetryPolicy
onWriteTimeout
in interface RetryPolicy
query
- 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.public RetryPolicy.RetryDecision onUnavailable(Query query, ConsistencyLevel cl, int requiredReplica, int aliveReplica, int nbRetry)
RetryPolicy
onUnavailable
in interface RetryPolicy
query
- 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.Copyright © 2014. All Rights Reserved.