Last week in scylladb.git master (issue #160; 2022-12-25)

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

There were 107 non-merge commits from 12 authors in that period. Some notable commits:

ScyllaDB now supports multiple compaction groups. This is not a user-visible feature for now, but will make migration of tablets to other shards and nodes much faster.

Some copies of the lists of ranges to stream were eliminated from the decommission path, reducing latency spikes.

When the global index cache is disabled, a local (per query) cache was used instead. When that cache was destroyed, a stall could result, generating a latency spike. This is now fixed.

Compaction manager generally reacts to events to initiate compactions, but also has an hourly timer in case an event was missed (and for tombstone compaction, which isn’t triggered by an event). This timer is now less susceptible to stalls.

Repair tried to trigger off-strategy compaction even for a table that was dropped during repair, failing the entire repair. It ignores the dropped table now.

The docker image is now more robust against different network conditions, which could cause it to fail to launch.

Single-partition reads could, in conditions involving multi-page queries, a completely empty page, and a partition or range tombstone covering the first row, terminate paging prematurely, leading to incorrect results. This is now fixed.

Documentation of the embedded tools (scylla sstable etc) is moved to the documentation tree, making it accessible online.

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