public class LoggingRetryPolicy extends Object implements RetryPolicy
RetryPolicy.RetryDecision| Constructor and Description |
|---|
LoggingRetryPolicy(RetryPolicy policy)
Creates a new
RetryPolicy that logs the decision of policy. |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Gets invoked at cluster shutdown.
|
void |
init(Cluster cluster)
Gets invoked at cluster startup.
|
protected void |
logDecision(String template,
Object... parameters)
Logs the decision according to the given template and parameters.
|
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 |
onRequestError(Statement statement,
ConsistencyLevel cl,
DriverException e,
int nbRetry)
Defines whether to retry and at which consistency level on an
unexpected error.
|
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.
|
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(Statement statement, ConsistencyLevel cl, int requiredResponses, int receivedResponses, boolean dataRetrieved, int nbRetry)
RetryPolicyrequiredResponses >= receivedResponses if dataPresent is
false (see
ReadTimeoutException.wasDataRetrieved()).onReadTimeout in interface RetryPolicystatement - the original query that timed out.cl - the original consistency level of the read that timed out.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(Statement statement, ConsistencyLevel cl, WriteType writeType, int requiredAcks, int receivedAcks, int nbRetry)
RetryPolicyonWriteTimeout in interface RetryPolicystatement - the original query that timed out.cl - the original consistency level of the write that timed out.writeType - the type of the write that timed out.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(Statement statement, ConsistencyLevel cl, int requiredReplica, int aliveReplica, int nbRetry)
RetryPolicyonUnavailable in interface RetryPolicystatement - 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.public RetryPolicy.RetryDecision onRequestError(Statement statement, ConsistencyLevel cl, DriverException e, int nbRetry)
RetryPolicySocketOptions.getReadTimeoutMillis());OVERLOADED, IS_BOOTSTRAPPING, SERVER_ERROR, etc.onRequestError in interface RetryPolicystatement - the original query that failed.cl - the original consistency level for the operation.e - the exception that caused this request to fail.nbRetry - the number of retries already performed for this operation.RetryDecision.RETHROW is returned,
the DriverException passed to this method will be thrown for the operation.public void init(Cluster cluster)
RetryPolicyinit in interface RetryPolicycluster - the cluster that this policy is associated with.public void close()
RetryPolicyclose in interface RetryPolicyprotected void logDecision(String template, Object... parameters)
template - The template to use; arguments must be specified in SLF4J style, i.e. "{}".parameters - The template parameters.