Creates a new default retry policy.
This policy retries queries in the following cases:
- On a read timeout, if enough replicas replied but data was not received.
- On a write timeout, if a timeout occurs while writing the distributed batch log
- On unavailable, it will move to the next host
In all other cases the error will be returned.
This policy always uses the query’s original consistency level.
Creates a new downgrading consistency retry policy.
Important: This policy may attempt to retry requests with a lower consistency level. Using this policy can break consistency guarantees.
This policy will retry in the same scenarios as the default policy, but it will also retry in the following cases:
- On a read timeout, if some replicas responded but is lower than required by the current consistency level then retry with a lower consistency level.
- On a write timeout, Retry unlogged batches at a lower consistency level if at least one replica responded. For single queries and batch if any replicas responded then consider the request successful and swallow the error.
- On unavailable, retry at a lower consistency if at lease one replica responded.
This goal of this policy is to attempt to save a request if there’s any chance of success. A writes succeeds as long as there’s a single copy persisted and a read will succeed if there’s some data available even if it increases the risk of reading stale data.
Creates a new fallthrough retry policy.
This policy never retries or ignores a server-side failure. The error is always returned.
cass_retry_policy_logging_new( child_retry_policy )
Creates a new logging retry policy.
This policy logs the retry decision of its child policy. Logging is done using CASS_LOG_INFO.
cass_retry_policy_free( policy )
Frees a retry policy instance.