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 CASS_CONSISTENCY_LOCAL_ONE
for driver versions
2.2.2 and above. In the past, versions 2.2.1 and below, it was
CASS_CONSISTENCY_QUORUM
or CASS_CONSISTENCY_ONE
depending on the driver
version.
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.