Last fortnight in scylladb.git master (issue #201; 2023-10-22)

This short report brings to light some interesting commits to scylladb.git master from the last two weeks. Commits in the 4e6fe34501…f181ac033a range are covered.

There were 95 non-merge commits from 20 authors in that period. Some notable commits:

Recently, we changed the schema version algorithm not to hash the entire schema as this causes slow performance with large numbers of tables. This has been reverted due to a regression.

To generate efficient bloom filters, we estimate the number of partitions in the sstable we will produce. The estimation has been improved for data models where the partition keys dominate the on-disk size.

The setup utility now works with disks that do not have UUIDs, such as those in some virtualized environments.

Compaction will now avoid garbage-collecting tombstones that potentially delete data in commitlog. This prevents data resurrection in the event that a node crashes and replays commitlog. This is rare since generally commitlog data is relatively fresh and tombstones that delete such data would not be garbage collected for other reasons.

Each node contains a local system.truncated table containing truncation records for other tables on the node. This table is now cleared after commitlog replay to avoid it being re-interpreted incorrectly in the case of two consecutive commitlog replays.

The version string has been advanced to 5.5.0-dev to mark the start of the 5.4 stabilization cycle. Note the version string is not final and may change.

Alternator, ScyllaDB’s implementation of the DynamoDB API, now responds more correctly to the DeleteTable API.

The native nodetool implementation, which is slated to replace the Java-based nodetool, now supports the stop and compactionhistory commands.

See you in the next issue of last week in scylladb.git master!