This short report brings to light some interesting commits to scylladb.git master from the last week. Commits in the 431de48df9..10589e966f range are covered.
There were 104 non-merge commits from 23 authors in that period. Some notable commits:
The S3 driver now avoids copying data during multipart uploads.
A crash when TRUNCATE or DROP TABLE happened after tablet migration was fixed.
The row cache garbage-collects tombstones in cache to improve read performance. It now checks for overlap with data in memtables, as this could cause data resurrection in some cases.
There is now a dedicated nodetool cluster repair
command to repair tablet keyspaces. Unlike most nodetool commands, it applies to the entire cluster.
Backup will prioritize sstables that were deleted (usually as the result of compaction), as deletes sstables occupy space in snapshots.
The CQL binary protocol server now throttles new connection processing in order to prevent connection storms from overwhelming the server.
When rebuilding a tablet (due to the loss of a node), we will now stream data from just one replica, and use repair to fill in data from the rest. This saves bandwidth and reduces space amplification.
A bug which could cause SELECT … PER PARTITION LIMIT or SELECT DISTINCT to terminate prematurely was fixed.
There is now a new virtual table that describes load per node, and the tablet monitoring script was updated to make use of it. This is useful for heterogeneous clusters where different nodes have different storage capacity.
The raft group 0 implementation now limit the number of raft voters in order to reduce the amount of work needed to reach consensus. Nodes are promoted to voters or demoted as needed.
See you in the next issue of last week in scylladb.git master!