Last week in scylladb.git master (issue #210; 2023-12-24)

This short report brings to light some interesting commits to scylladb.git master from the last week. Commits in the 10a11c2886…2590274f95 range are covered.

There were 86 non-merge commits from 16 authors in that period. Some notable commits:

Tablets is a new, experimental method of managing replication and distribution. With tablets, each token range has its own sstables and memtables. There is now support for splitting such ranges when a table grows. This support is not yet wired into the tablet load balancer.

Alternator, ScyllaDB’s implementation of the DynamoDB API, now supports tablets.

Secondary indexes now support tables with tablets.

Change data capture (CDC) is now rejected on tables using tablets, as CDC was not yet integrated with tablets.

The ALTER KEYSPACE statement now rejects changing a keyspace from vnodes to tablets or back. Using tablets must be decided during keyspace creation.

Schema management using Raft is now mandatory. Clusters will now switch to Raft on upgrade. Until now, only new clusters were created with Raft while upgrades had to opt in.

The nodetool command will now invoke the native nodetool implementation for most commands, falling back to the Java-based nodetool and scylla-jmx for a few unimplemented commands.

A crash on a table drop that is concurrent with streaming has been fixed.

ScyllaDB will now listen on a maintenance socket in addition to the normal CQL port. The maintenance socket is active even when the node is not yet fully joined, allowing troubleshooting access. The maintenance socket uses unix-domain sockets, not TCP. Support for cqlsh is not yet enabled.

A Seastar update improves performance in debug mode.

A few Rust dependencies were updated to address minor security vulnerabilities.

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