Last week in scylladb.git master (issue #217; 2024-02-11)

This short report brings to light some interesting commits to scylladb.git master from the last week. Commits in the 017a574b16…7a710425f0 range are covered.

There were 115 non-merge commits from 19 authors in that period. Some notable commits:

A bug in the row cache could cause a query to return incomplete data if, under moderate load, the query was preempted. This is now fixed. Note that QUORUM reads would usually see the missing data completed from the other replica, so the bug is mostly visible with consistency level ONE or similar.

A bug was fixed where a deletion in a base table that affected a large number of materialized view rows to be updated could cause some updates to be missed.

A possible crash in the REST API when stopping compaction on a keyspace was fixed.

The CQL date type is now more resistant to overflow.

An inadvertant protocol change that caused streaming in a mixed version cluster to fail has been rectified.

The REST API for moving a tablet now validates that replication strategy constraints (for example, rack placement) are not violated.

A keyspace that has tablets enabled can now only be created if the cluster has sufficient nodes to satisfy the replication factor constraint.

The describe_ring API enumerates what fraction of the token space each node is responsible for. It now supports tablets, as each table has its own node to token range mapping.

Streaming now has additional protection for the case where the streamed table is dropped during the process.

Streaming is now more careful to avoid locking cluster metadata, allowing more tablet migrations to proceed in parallel.

The native nodetool command now supports the describering command.

The REST API for moving a tablet now allows concurrent tablet migration.

An additional REST API that works on an arbitrary keyspace was determined to be unused and redundant, and therefore removed.

There is now a procedure for upgrading a cluster from using gossip-managed to raft-managed, and for recovering a cluster that lost its raft quorum.

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