ScyllaDB University Live | Free Virtual Training Event
Learn more
ScyllaDB Documentation Logo Documentation
  • Deployments
    • Cloud
    • Server
  • Tools
    • ScyllaDB Manager
    • ScyllaDB Monitoring Stack
    • ScyllaDB Operator
  • Drivers
    • CQL Drivers
    • DynamoDB Drivers
  • Resources
    • ScyllaDB University
    • Community Forum
    • Tutorials
Install
Ask AI
ScyllaDB Docs ScyllaDB CPP-Rust Driver Using the Driver Consistency

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.

The default serial consistency is CASS_CONSISTENCY_ANY, which means no serial consistency specified. This may result in an error upon execution of a statement that requires serial consistency (Lightweight Transaction, LWT). In order to avoid this, you should set the serial consistency level to CASS_CONSISTENCY_SERIAL or CASS_CONSISTENCY_LOCAL_SERIAL before executing such statement.

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 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 write operation statements.

Setting Consistency Level¶

A ‘CassStatement’ object can have its consistency level altered at anytime before the statement is executed by the session.

CassStatement* statement = NULL;

/* Create a simple or prepared statment */

/* Ensure the session executed statement has strong consistency */
cass_statement_set_consistency(statement, CASS_CONSISTENCY_QUORUM);

cass_statement_free(statement);

NOTE: Consistency level is ignored for USE, TRUNCATE, CREATE and ALTER statements, and some, like CASS_CONSISTENCY_ANY, aren’t allowed in all situations.

Was this page helpful?

PREVIOUS
Client-side timestamps
NEXT
Data Types
  • Create an issue
  • Edit this page

On this page

  • Consistency
    • Default consistency
    • Consistency Levels
      • Read and Write Consistency Levels
    • Setting Consistency Level
ScyllaDB CPP-Rust Driver
  • master
    • master
  • CPP-over-Rust Driver
  • API Documentation
    • CassAggregateMeta
    • CassAuthenticator
    • CassAuthenticatorCallbacks
    • CassBatch
    • CassCluster
    • CassCollection
    • CassColumnMeta
    • CassCustomPayload
    • CassDataType
    • CassErrorResult
    • CassExecProfile
    • CassFunctionMeta
    • CassFuture
    • CassIndexMeta
    • CassInet
    • CassIterator
    • CassKeyspaceMeta
    • CassLogMessage
    • CassMaterializedViewMeta
    • CassMetrics
    • CassNode
    • CassPrepared
    • CassResult
    • CassRetryPolicy
    • CassRow
    • CassSchemaMeta
    • CassSession
    • CassSpeculativeExecutionMetrics
    • CassSsl
    • CassStatement
    • CassTableMeta
    • CassTimestampGen
    • CassTuple
    • CassUserType
    • CassUuid
    • CassUuidGen
    • CassValue
    • CassVersion
  • Getting Started
  • Architecture Overview
  • Installation
  • Building
  • Testing
  • Using the Driver
    • Batches
    • Binding Parameters
    • Client-side timestamps
    • Consistency
    • Data Types
      • The date and time Types
      • Tuples
      • User-Defined Types (UDTs)
      • UUIDs
    • Futures
    • Handling Results
    • Keyspaces
    • Prepared Statements
    • Schema Metadata
  • Configuration
    • Load balancing
    • Retry policies
    • Speculative Execution
    • Connection
    • Execution Profiles
    • Performance Tips
    • Client Configuration
  • Security
    • Authentication
    • TLS
  • Observability
    • Logging
    • Tracing
    • Metrics
Docs Tutorials University Contact Us About Us
© 2025, ScyllaDB. All rights reserved. | Terms of Service | Privacy Policy | ScyllaDB, and ScyllaDB Cloud, are registered trademarks of ScyllaDB, Inc.
Last updated on 16 Sep 2025.
Powered by Sphinx 7.4.7 & ScyllaDB Theme 1.8.8
Ask AI