This short report brings to light some interesting commits to scylladb.git master from the last week. Commits in the 01e54f5b12…d62a5fc60b range are covered.
There were 146 non-merge commits from 18 authors in that period. Some notable commits:
Commitlog format has changed to individually checksum each disk sector. This allows discrimination between three types of sectors: those containing valid data, those corrupted, and those that contain data from a previous use of the commitlog segment file. This should reduce false-positive warnings about commitlog corruptions during replay. Note the format is not compatible with previous versions, so upgrades should flush memtables first.
Tablets are a new, experimental way of distributing data across the cluster. A table that uses tablets and has a materialized view will now correctly and consistently pair base-table tablets with corresponding view-table tablets, reducing chances for losing consistency compared to vnode-based tables.
When tablets are migrated to a different node, they will not prevent other tablets from initiating migration, increasing concurrency.
It’s now possible to use cmake to build ScyllaDB from the configure.py entry point.
The scylladb-kernel-conf package tunes the Linux kernel scheduler via sysfs to improve latency. These tunings were lost in Linux 5.13+ due to kernel changes. They are now restored.
ScyllaDB can store changes to its own metadata using a separate commitlog, to prevent it waiting for user data to commit. This separate commitlog is now mandatory.
There is now a script to assist in decoding UUID-based sstable generation numbers.
ScyllaDB detects internal stalls using a stall detector. It can do so using a timer, or using a more hardware performance counter, which can also track kernel stalls. It now sets up permissions for itself to use the performance counter.
The native nodetool implementation, scylla nodetool
, now supports more commands: decommission, rebuild. removenode, logging level commands, move, and refresh. It is not yet used by default.
See you in the next issue of last week in scylladb.git master!