Last week in scylladb.git master (issue #175; 2023-04-16)

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

There were 134 non-merge commits from 11 authors in that period. Some notable commits:

It is now possible to store sstables for selected keyspaces directly on S3 or a compatible object storage system. Note that local storage is still required for commitlog, hints, and system tables. This can reduce storage costs where low latency is not required.

The in-memory footprint of sstable summaries has been reduced. This is especially noticeable with very small partitions.

In alternator (ScyllaDB’s implementation of the DynamoDB API), a bug in concurrent modification of table tags has been fixed.

ScyllaDB can now relabel metrics according to user-provided configuration. This can be used together with Prometheus to reduce the number of metrics reported.

When resharding or staging sstables, ScyllaDB will also perform a cleanup operation, removing data that’s not needed by the node since it was migrated away to other nodes.

Running major compaction will no longer increase the compaction scheduling group shares to 200. This is not necessary since major compaction runs in the maintenance/streaming group.

An inactive reader is a query that was paused (often because the client is busy consuming the previous page). A bug caused inactive readers to be evicted needlessly, which would cause extra work when the next page is fetched to re-create the query. It is now fixed.

The load-and-stream operation reads user-supplied sstables and streams them to the cluster. It now avoids loading the bloom filter, saving memory.

Error messages for incorrect usage of the CQL TOKEN() function have been improved.

The scylla sstable tool now has more ways to obtain the schema.

The code base was migrated away from the standard library’s regular expression implementation to the one provided by boost. The standard library implementation was proven several times to be slow (causing stalls) and to consume too much stack space, especially on ARM.

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