Default retry policy

The default retry policy retries a request when it is safe to do so while preserving
the consistency level of the original request. Use this policy for most deployments.

Read timeout

If the number of replicas that reply is greater than or equal to the number of
required responses per the consistency level, the default retry policy retries the request. In
all other cases, it returns an error.

Figure: Read timeout

Write timeout

If the request is a logged batch request and fails to write to the batch log, the
default retry policy retries the request. In all other cases, it returns an error.

Figure: Write timeout

Unavailable errors

If the request encounters an unavailable error, the default retry policy retries the
request using the next host in the load balancing policy.

Figure: Unavailable errors

Fall-through retry policy

The fall-through retry policy never retries or ignores a failed request. In all
cases, the fall-through retry policy returns an error. Use this policy for applications that
need to implement their own business logic to handle retrying a request.

Figure: Fall through retry

Logging retry policy

The logging retry policy is intended to be a parent policy for another retry policy
implementation and only logs the retry decision made by its child policy. This policy is
typically used to debug driver retry behavior.