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.
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.