This short report brings to light some interesting commits to scylladb.git master from the last week. Commits in the dc4ad9bfdb9..94c9cb72a83 range are covered.
There were 178 non-merge commits from 38 authors in that period. Some notable commits:
Tablet allocation to shards now takes into account that they can be of wildly differing sizes due to vnode-to-tablet migration, at least until their sizes are automatically healed.
A token-range repair that spans multiple vnodes is now handled correctly.
Gossip now coalesces pending states to avoid memory explosion due to backlog.
There is now a tool to help estimate gains from compression.
Logstor is a new experimental storage engine aimed at high performance key/value workloads. It now supports the SELECT FROM MUTATION_FRAGMENTS() statement.
The query statistics are now correct when a page was cut in the middle of a partition.
The compaction manager will now assign a heavier weight to tiny sstables, as the cost of compacting them is not proportional to their small size.
A user-requested repair that blocks a topology change operation will now be aborted to let the topology operation proceed.
Descriptor attributes of sstables on object storage are now visible.
There is now a new CLI framework for analyzing tablet load balancing.
ScyllaDB reclaims memory used by Bloom filters if they consume too much. If two such sstables had the same Bloom filter size, we might have not restore the filter when memory becomes available. This is now fixed.
A large allocation during write throttling was fixed.
A restore could have left a table in a state where it cannot change its tablet count. This is now fixed.
Alternator, ScyllaDB’s implementation of the DynamoDB API, now fully implements composite-key global indexes (continuation from previous week’s report).
Size-tiered compaction strategy calculations were optimized.
The sizes of sstables that had a component rewritten is now accounted correctly.
Tablet-aware restore is now multi-datacenter capable.
Validation of tables during statement execution is now more accurate (and slightly faster).
The system.config virtual table now exposes whether a value is in use or deprecated.
The schema for a table snapshot now includes dropped columns for more accurate restore.
Load-and-stream now generates fewer topology requests, interfering less with tablet load-balancing.
Linearization of raft commands not yet committed was improved.
See you in the next issue of last week in scylladb.git master!