Last week in scylladb.git master (issue #191; 2023-08-05)

This short report brings to light some interesting commits to scylladb.git master from the last week. Commits in the 1c3d22b717…421a5ad55c range are covered.

There were 132 non-merge commits from 15 authors in that period. Some notable commits:

Tablets are a new, experimental way of distributing data across nodes and shards. The tablet load balancer is now able to concurrently migrate tablets to new nodes, and is able to make new decisions while tablets are being streamed.

In CQL, a few functions for dealing with counter types were added.

Alternator, ScyllaDB’s implementation of the DynamoDB API, now limits embedded expression length and nesting.

A source of high latency in multi-partition scans was eliminated.

Change Data Capture exposes multiple streams to reflect the cluster topology. It is now more careful to avoid closing and creating new streams unnecessarily.

Fencing is a way to prevent a coordinator from interacting with replicas when it has an outdated view of cluster topology. This now applies to counter updates too.

ScyllaDB verifies ownership and permissions for its own files. It now avoids doing this for snapshots, as they might be concurrently being deleted by an administrator or scylla-manager.

Cluster features are ScyllaDB’s way of making rolling upgrades seamless - a feature isn’t enabled until all nodes support it. We now propagate cluster features via Raft rather than gossip for improved reliability.

Most ScyllaDB metrics are per-shard, per-node, but not for a specific table. We now export some per-table metrics. These are exported once per node, not per shard.

There is a new option to specify the number of token ranges to repair in parallel.

See you in the next issue of last week in scylladb.git master!