Skip to content

Use LOCAL_QUORUM and LOCAL_SERIAL as query defaults #1253

Open

Description

@dkropachev

Problem

The default execution profile and legacy session use LOCAL_ONE for ordinary reads and writes. Their serial consistency is unset, so conditional writes omit the serial consistency field and use the protocol's SERIAL default.

This means an application using the driver's defaults does not get a local quorum for ordinary operations, and lightweight transactions span data centers during the serial phase. The existing DataStax Apollo-specific adjustment changes only the ordinary consistency default.

Expected behavior

Use LOCAL_QUORUM for ordinary operations and explicitly send LOCAL_SERIAL for the serial phase of lightweight transactions, through both execution profiles and legacy sessions. Simple, prepared, bound, and batch requests should inherit these defaults while preserving explicit application overrides, including an explicitly unset serial profile setting.

Document the compatibility change: a local quorum must be available, and the default LWT serial scope becomes the local data center. Applications that need the previous defaults can explicitly configure LOCAL_ONE and SERIAL, except on DataStax Apollo/Astra clusters. Those clusters already used LOCAL_QUORUM and need only an explicit SERIAL setting to retain their previous behavior.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions