Skip to content

feat(cassandra): set the consistency level per connection and with CONSISTENCY - #3716

Merged
datlechin merged 3 commits into
mainfrom
feat/2513-cassandra-consistency
Oct 20, 2026
Merged

datlechin merged 3 commits into
mainfrom
feat/2513-cassandra-consistency

Conversation

@datlechin

@datlechin datlechin commented Oct 20, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Cassandra and ScyllaDB connections get Consistency and Serial Consistency on the Options tab. Default stays LOCAL_ONE; the serial level is left to the server unless set.
  • CONSISTENCY [level] and SERIAL CONSISTENCY [level] in the CQL editor change the level for the connection's session, as cqlsh does, and never reach the server. A command run into another statement is refused.
  • The level applies to every tab on the connection until it disconnects: one driver serves them all, as with USE. Count Exactly, export and import run on a pooled connection at the Options level.
  • Every editor result, table browse and capped read names its level in the footer: Consistency: QUORUM, plus serial: LOCAL_SERIAL on a lightweight transaction.
  • Amazon Keyspaces (AWS IAM auth, or a Keyspaces endpoint host, including behind an SSH tunnel) defaults to LOCAL_QUORUM. At LOCAL_ONE it refused every write.
  • The plugin's system table reads and the health check stay at the driver default, so ANY or an unreachable level keeps the sidebar and ping working.
  • The footer shows the active result's own status message. After a run of several statements it showed only the run's notice, so a statement's driver message never reached it. The run's notice now goes on each result of that run.
  • ScyllaDB's curated form declares both fields, since its form never takes the plugin's fields.
  • New probe apple/scripts/probes/check-cassandra-consistency.sh: the plugin is registry-only and has no test target.

Test plan

  • check-cassandra-consistency.sh against single-node cassandra:5.0: PASS. A read succeeds at ONE and fails at TWO, so the level reaches the wire. Also covers the commands, comments, refusals, LWT serial status, capped reads, browse, streaming, reconnect, connection fields and Keyspaces detection.
  • New cases in StatusBarSnapshotTests, MultiStatementResultMessageTests, PluginMetadataRegistryCuratedCapabilityTests.
  • verify.sh build, test, plugins, lint, l10n, docs.

Docs: TableProApp/docs#73

Fixes #2513

@datlechin
datlechin enabled auto-merge (squash) October 20, 2026 19:55
@datlechin
datlechin merged commit 5f86ad2 into main Oct 20, 2026
8 checks passed
@datlechin
datlechin deleted the feat/2513-cassandra-consistency branch October 21, 2026 03:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cassandra write consistency level

1 participant