This short report brings to light some interesting commits to scylladb.git master from the last week. Commits in the 4307126ef6b..f9b74e63c2e range are covered.
There were 145 non-merge commits from 28 authors in that period. Some notable commits:
The multi-version concurrency control (MVCC) implementation reduced its memory usage, allowing more partitions to fit into memtable and cache.
Incremental compaction strategy writes tombstone-only sstables to guard against data resurrection in case of a crash. In some cases the last such sstable could be leaked. It is now deleted correctly.
Encryption parameters are preserved when rewriting an sstable component.
The CQL transport now support concurrent mutual-TLS and password authentication.
Compaction now avoids compacting tiny sstables with large ones, as this can cause high write amplification. Tiny sstables are more commonplace with tablets.
Restore now runs in the backup sub-group of the maintenance scheduling group.
A new scylla-perf-collector sub-package contains a background performance profile collection service.
Digests of all sstable components are now validated during streaming.
The obscure automatic naming of bind variables feature can now name them in lower-case for compatibility with older versions. Name your bind variables explicitly.
A rare corruption in lz4 decompression was fixed.
The S3 driver now handles zero-length objects.
When changing the replication factor, the load balancer now better distributes migrations across shards.
Raft now decouples commits from commit applications.
Alternator, ScyllaDB’s implementation of the DynamoDB API, now supports pre-filtering of vector searches.
There is now a dedicated permission for the full-text-search index service.
A livelock when a rack has no available nodes was fixed.
Alternator, ScyllaDB’s implementation of the DynamoDB API, now preserves goodput better on overload.
There is now a metric for read-repairs that actually repaired something.
backup now tolerates a racing DROP TABLE.
The TRUNCATE statement USING TIMEOUT clause can now use bind variables.
See you in the next issue of last week in scylladb.git master!