Last week in scylladb.git master (issue #209; 2023-12-17)

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

There were 106 non-merge commits from 18 authors in that period. Some notable commits:

The auto-snapshot feature automatically creates a snapshot on TRUNCATE or DROP TABLE. It is now ignored on object storage tables, since they don’t implement snapshots yet.

The gossip-based schema propagation code uses a hash of the schema metadata to check if nodes have the same schema, since changes to the schema can happen in different nodes independently. This schema calculation can be time consuming in a cluster with thousands of tables. In consistent schema mode, therefore, we no longer compute a hash of the entire schema but instead generate a schema version using a timeuuid. This speeds up operations on clusters with many tables.

There is now an API for starting a compaction job without waiting for it.

The native nodetool command (invoked using scylla nodetool) now implements the scrub command.

The token_metadata class is an internal data structure containing state about nodes (principally tokens). It is now indexed by host IDs rather than node IP addresses, since Raft keeps track of IDs. This is mostly transparent to users but has implications on upgrades.

The cqlsh configuration file is now in its correct place for the container image.

The scylla sstable command now has a shard-of subcommand, to map an sstable to a shard.

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