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.