This short report brings to light some interesting commits to scylladb.git master from the last week. Commits in the a74c9d7268d..5d1840c4db4 range are covered.
There were 112 non-merge commits from 29 authors in that period. Some notable commits:
The DELETE statement can bypass the large data guardrails so an administrator can delete large partitions. Note that with log-structured merge trees, deletions extend the partition until compaction is able to actually reduce data size.
The large data guardrails now detect oversized rows and collections in memtables too.
Atomic deletion of multiple sstables is needed to prevent data resurrection in case of a crash. It is now implemented for object-storage backed tables.
The build toolchain is now based on Fedora 44, with clang 22 and libstdc++ 16.
There is now a metric for client timestamp drift compared to the server. This can detect queuing in TCP or in the server TCP stack itself.
Object storage client memory can now be tuned with a configuration item.
A node will refuse to decommission if it is the last node in a rack that is in use. Remove replication to a rack before removing its nodes.
A new CQL system function BM25() allows computing the score for full-text searches as well as specifying the order.
The compaction manager keeps an estimate of the compaction backlog to allocate bandwidth for compaction, with higher backlog causing higher compaction bandwidth. It now updates the estimate on memtable flush, not just compaction completion.
Strongly consistent tables (experimental) improved handling of raft leaders believed to be down.
Tablet migrations for replication factor changes now take into account the target disk size, like regular tablet migrations.
The large data guardrails can now return CQL warnings from the coordinator to the client.
A bug in full scans while a vnodes-to-tablets migration is running was fixed.
Tablet-aware restore will now set the tablet count on the target table to avoid unnecessary tablet splits.
Connections to IP addresses that are no longer part of the cluster due to IP address changes are now eagerly terminated to avoid waiting for TCP timeouts. This improves recovery on Kubernetes.
See you in the next issue of last week in scylladb.git master!