Consistency
A setting that defines a successful write or read by the number of cluster replicas that acknowledge the write or respond to the read request, respectively.
Default consistency
The default consistency is now CASS_CONSISTENCY_LOCAL_QUORUM for driver
versions 2.2 and above. It was CASS_CONSISTENCY_ONE for all previous versions
(2.1 and below).
Consistency Levels
Read and Write Consistency Levels
The consistency level determines the number of replicas on which the read/write must respond/succeed before returning an acknowledgment to the client application. Descriptions and Usage scenarios for each read/write consistency level can be found here.
| Level | Driver |
|---|---|
| All | CASS_CONSISTENCY_ALL |
| Each Quorum | CASS_CONSISTENCY_EACH_QUORUM |
| Quorum | CASS_CONSISTENCY_QUORUM |
| Local Quorum | CASS_CONSISTENCY_LOCAL_QUORUM |
| One | CASS_CONSISTENCY_ONE |
| Two | CASS_CONSISTENCY_TWO |
| Three | CASS_CONSISTENCY_THREE |
| Local One | CASS_CONSISTENCY_LOCAL_ONE |
| Any | CASS_CONSISTENCY_ANY |
| Serial | CASS_CONSISTENCY_SERIAL |
| Local Serial | CASS_CONSISTENCY_LOCAL_SERIAL |
NOTE: Consistency level CASS_CONSISTENCY_ANY is only valid for read operation statements.
Setting Consistency Level
A ‘CassStatement’ object can have its consistency level altered at anytime before the statement is executed by the session.
/* Create a simple or prepared statment */
/* Ensure the session executed statement has strong consistency */
cass_statement_set_consistency(statement, CASS_CONSISTENCY_QUORUM);
NOTE: Consistency is ignored for USE, TRUNCATE, CREATE and ALTER
statements, and some CASS_CONSISTENCY_ANY aren’t allowed in all situations.