Last week in scylladb.git master (issue #180; 2023-05-21)

This short report brings to light some interesting commits to scylladb.git master from the last week. Commits in the 31e820e5a1…3b424e391b range are covered.

There were 98 non-merge commits from 18 authors in that period. Some notable commits:

We now disallow the CREATE permission on a named user defined function (UDF). It is meaningless since a named function must already have been created.

The permissions granted when a keyspace or function are created have been adjusted.

Tables backed by object storage no longer use a deletion log to orchestrate sstable deletion. Since those tables have an sstable ownership table managed by Raft, they use this ownership table to orchestrate deletions.

ScyllaDB has an error injection facility, used by QA to test error paths. It can now be enabled via configuration.

In Alternator, ScyllaDB’s implementation of the DynamoDB API, the timeout configuration value can be hot-updated without restarting the node.

The REST API that accept sstable generation numbers now use a string value, in preparation for using UUID generations.

The WebAssembly runtime used to evaluate user defined functions has been updated to address vulnerabilities.

An edge case when converting range tombstones to the internal format used by sstables has been corrected.

Very large compactions, involving hundreds of sstables, could cause stalls when the log message announcing the compaction is printed due to quadratic complexity. This is now fixed.

A significant performance regression in compactions that process a lot of tombstones has been fixed.

Error messages involving CQL expressions will not be printed in a more user-friendly way. Previously they contained some debug information.

The API for performing sstable cleanup will now wait for staging sstables to be cleaned up too.

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