Last week in scylladb.git master (issue #216; 2024-02-04)

This short report brings to light some interesting commits to scylladb.git master from the last week. Commits in the fe3bc00045…017a574b16 range are covered.

There were 147 non-merge commits from 17 authors in that period. Some notable commits:

If a table that uses tablets detects that the average tablet size is larger than a configured amount, it will split all tablets for that table. This allows a growing table to use more shards, and to have reasonably-sized tablets for migration.

Alternator, ScyllaDB’s implementation of the DynamoDB API, will now enable tablets if tablets themselves (an experimental feature) are enabled.

When tablets are enabled, we will now refuse resharding (changing the number of shards in a node) as this is not implemented yet.

There is now a metric for tablet count that can be used to observe the load balancer.

In consistent topology (experimental), an ambiguity between nodes that were decommissioned and nodes that failed bootstrap was fixed.

In consistent topology, a failed rebuild command will result in an error instead of an infinite retry loop.

In consistent topology, streaming will now run under the streaming scheduling group rather than the gossip scheduling group. This ensures streaming has limited I/O and CPU consumption.

The rewritesstables command will now execute in the streaming/maintenance group, reducing its impact on the rest of the system.

There is now an API to trigger a Raft snapshot of cluster metadata. This is useful to work around a bug in the 5.2 Raft integration.

A Raft snapshot will be triggered if we detect that we’re bootstrapping from an older ScyllaDB cluster.

A crash in the mintimeuuid() function has been fixed.

The system will now scan sstable files during startup in a way that prevents fragmentation of the kernel inode and dentry caches. This helps reduce memory pressure on systems with many sstables.

A cleanup operation will now flush memtables, to prevent data that managed to stay in memtables from not being cleaned up.

The scylla sstable tools that use Lua scripts now load the os and math libraries.

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