Last week in scylladb.git master (issue #182; 2023-06-04)

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

There were 59 non-merge commits from 14 authors in that period. Some notable commits:

If the startup sequence is aborted by an interrupt (ctrl-C or systemd shutdown), an exception error message was shown. It is now ignored by the system and not displayed.

The nodetool refresh command gained the --primary-replica-only option.

During shutdown, the system will cancel pending hint writes rather than wait for their 5-minute timeout. This can prevent delays in stopping a server.

In internode communications, we now avoid copies of certain heavyweight objects.

A cleanup compaction is used to get rid of token ranges that are no longer owned by a node. A bug that delayed deletion of sstables being cleaned up, thus increasing the risk of running out of space, was fixed.

A bootstrapping node will now wait for schema agreement before joining the cluster. This prevents conflict between the new node’s system distributed tables and the cluster’s tables. The conflict is eventually resolved, but while it exists, the cluster is under heavier load.

A race condition between the startup of raft group 0 and its rpc listener was fixed.

Consistent schema management using Raft is now the default not only for new clusters, but also for clusters upgrading from an older version.

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