Skip to content

feat(storage): Add CQL high-volume backend - #676

Draft
lcian wants to merge 1 commit into
mainfrom
lcian/feat/cql-high-volume-backend
Draft

lcian wants to merge 1 commit into
mainfrom
lcian/feat/cql-high-volume-backend

Conversation

@lcian

@lcian lcian commented Oct 8, 2026

Copy link
Copy Markdown
Member

Adds a scylla-based CqlBackend implementing HighVolumeBackend for Cassandra and Scylla. It is selectable as type: cql either standalone or as the high-volume tier. Includes a pre-provisioned schema, optional authentication and verified TLS, a Cassandra devservice using the official image, CI coverage, and an example tiered configuration.

This draft shares the implementation for team review and possible sandbox benchmarking. Each object or upload marker occupies its own partition. Mutations use revision-guarded lightweight transactions, reads use LOCAL_SERIAL, and commits use LOCAL_QUORUM; clients are restricted to one configured datacenter. Logical expiration is backed by native per-cell TTL, so renewal rewrites the complete row. Unsupported deadlines at or beyond the documented 2038 ceiling are rejected.

The main benchmarking questions are throughput and tail latency with serial reads and conditional writes, contention on frequently updated keys, and the cost of renewing payloads near the 1 MiB tiering threshold. Replicated-cluster failure handling and authenticated TLS connections still need deployment-level validation before production use.

The full workspace suite passed (776 passed, 16 ignored). The 13-test CQL suite passed against Cassandra 5.0.9 and, unchanged, against a temporary Scylla 2026.1.14 instance. Both database runs used single-node clusters without authentication or TLS. The manual Scylla setup is not included in the commit; existing tiered-storage tests remain unchanged.

Support Cassandra and Scylla through revision-guarded lightweight transactions, native TTL, and optional authentication and TLS. Add the Cassandra devservice, CI setup, schema, documentation, and backend integration tests.
@codecov

codecov Bot commented Oct 8, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 88.91626% with 45 lines in your changes missing coverage. Please review.
✅ Project coverage is 91.38%. Comparing base (0abc6bf) to head (2f29312).

Files with missing lines Patch % Lines
objectstore-service/src/backend/cql.rs 89.85% 36 Missing ⚠️
objectstore-server/src/config.rs 87.50% 6 Missing ⚠️
objectstore-service/src/backend/mod.rs 0.00% 2 Missing ⚠️
objectstore-test/src/server.rs 0.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff            @@
##             main     #676    +/-   ##
========================================
  Coverage   91.38%   91.38%            
========================================
  Files         117      118     +1     
  Lines       24056    24459   +403     
========================================
+ Hits        21983    22353   +370     
- Misses       2073     2106    +33     
Components Coverage Δ
Rust Backend 94.78% <89.13%> (-0.11%) ⬇️
Rust Client 81.70% <ø> (ø)
Python Client 93.81% <ø> (ø)

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

1 participant