This short report brings to light some interesting commits to scylladb.git master from the last two week. Commits in the 1690e5265a..20aeed1607 range are covered.
There were 266 non-merge commits from 40 authors in that period. Some notable commits:
The tablet load balancer now runs in the maintenance/streaming scheduling group, rather than the gossip group. This reduces impact on node failure detection and Raft which also run in the gossip group.
The CREATE TABLE IF NOT EXISTS no longer fails if CDC is specified.
There are now Lua scripts for examining purgable tobmstone and write-time histograms in sstables.
The batchlog mechanism will now drop batches for a table that was itself dropped.
The tablet scheduler can schedule migrations in different racks independently. It is now more careful not to generate conflicting tablet migration plans.
The tablet scheduler will no longer attempt expensive cross-rack migrations if the cluster is known to have exactly one tablet replica per rack. This is much faster.
The sstable scrubber now handles malformed sstables better.
We now store more complete schemas in sstables, so data recovery from a stray sstable is easier.
There is now a standalone scylla sstable upgrade command, which can be used to rewrite sstables using different versions or options.
It is now possible to set the default sstable compression options via configuration.
Alternator, ScyllaDB’s implementation of the DynamoDB API, now caches parsed expressions to reduce per-request overhead.
There is a new sstable version, ms. This is like me but with Trie primary indexes. The index is more compact and can yield faster lookups. It is not yet enabled by default.
ScyllaDB now formats the data filesystem using 4k block size. We previously used 1k block size to work around a kernel deficiency, which has since been fixed.
The nodetool getendpoints command now works with keys containing : for more cases.
See you in the next issue of last week in scylladb.git master!