This short report brings to light some interesting commits to scylladb.git master from the last week. Commits in the e1b1a2068a4…93f53f4eb82 range are covered.
There were 94 non-merge commits from 22 authors in that period. Some notable commits:
There is now support for vector types in CQL. Vectors are fixed-size arrays of another data type, commonly used for AI. Note nearest-neighbor vector search is not yet supported. This project was contributed by Warsaw University students.
The reader concurrency semaphore controls concurrent reads at the replica level. It could lose track of reads in some circumstances, resulting in those zombie reads leaking memory. This is now fixed.
ScyllaDB breaks long query results into pages to reduce transient memory consumption and latency. When it does so, it caches the query running on the replica and resumes it on the next page. This resuming broke when a paging decision was made due to a large number of tombstones, requiring the query to be restarted on the next page instead of resumed. This is now fixed.
We no longer crash when creating a table while there is a rack that has no nodes in the NORMAL state.
The reader concurrency semaphore tries to restrict the number of reads competing for CPU, since the competition delays all those reads. We now allow up to two reads to compete for the CPU in the default configuration. This allows common fast reads to compete and bypass rare long reads, reducing head-of-line blocking.
The reader concurrency semaphore could accidentally use the the query timeout for evicting cached queries, resulting in reduced performance. This is now fixed.
There are now more ways to specify AWS credentials for S3.
Some configuration parameters can be live-updated on a running server by sending SIGUP. We now prevent parameters that are not designed to be live updated from being updated in the same manner, as it can cause unpredictable behavior.
Authentication now ensures the default superuser password is set before serving CQL, reducing authentication problems.
The memtable_flush_period_in_ms option now works for system tables.
The S3 driver was tuned for improved backup performance.
The toolchain used to build ScyllaDB is now based on Fedora 41 with clang 19. The compiler upgrade results in a small performance improvement.
There are now per-table tablet configuration options used to control how many tablets are created for a table, allowing planning ahead for performance.
Seamless upgrades from enterprise versions of ScyllaDB to new source-available versions are now supported.
See you in the next issue of last week in scylladb.git master!