Last week in scylladb.git master (issue #163; 2023-01-15)

This short report brings to light some interesting commits to scylladb.git master from the last week. Commits in the 08b3a9c786…abc43f97c9 range are covered.

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

The experimental WASM user defined function (UDF) implementation has been switched to Rust (UDFs can be written in any language WASM supports, not just Rust). The new implementation is avoids stalls for long-running UDFs and shares memory with the rest of the database.

ScyllaDB tracks transient memory used by queries. However, it did not track decompressed memory buffers, which could lead to running out of memory in some complicated queries. This is now fixed.

A Seastar update fixed an ambiguity in the http parser, which caused Alternator requests to be unnecessarily slow.

The Azure snitch, used to derive datacenter and rack information from instance metadata, now handles regions which have a single availability zone.

The replica-side read metrics, which have been incorrect for some time, have been revamped.

A very rare bug involving reads from memtables and multi-version concurrency control has been fixed.

The CQL binary protocol versions 1 and 2 are no longer supported. Version 3 and above have been supported for 9 years, so it’s unlikely to be in real use. You can check for version 1 and 2 in the system.clients virtual table.

The sstable tools gained Lua scripting. This is an expert feature intended for offline analysis of sstables.

User defined aggregates (UDAs) are now correctly persisted and survive a cold start. UDAs are an experimental feature.

There is now documentation about how NULL is treated in ScyllaDB.

The schema of the system.raft_config table, used for storing Raft cluster membership data, has been streamlined.

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