Last week in scylladb.git master (issue #203; 2023-11-05)

This short report brings to light some interesting commits to scylladb.git master from the last week. Commits in the 227136ddf5…6cc5bcae80 range are covered.

There were 127 non-merge commits from 22 authors in that period. Some notable commits:

To fix an edge case, when a node joins the raft group, it now first waits for the first node to enter the NORMAL state.1

An ABBA-style deadlock was fixed for this scenario: if an Alternator table used strong write isolation and had a global secondary index, then index updates could wait on the base table update, and vice versa. This also happens with materialized views on a table updated using lightweight transactions (LWT).

The embedded benchmarking tool, scylla perf-simple-query, now supports tablets.

The test suite now verifies that nodes that shut down have not crashed while doing so.

The native nodetool implementation now supports additional commands: cleanup, clearsnapshots, and listsnapshots. We still use the java-based nodetool by default.

The option to control how replication strategies are allowed or denies has been changed.

The container image now avoids installing “suggested” packages, to reduce its size.

When using raft-based topology management, ScyllaDB will now roll back the last operation (e.g. bootstrap or decommission) automatically.

When using raft topology mode, we will now automatically retry raft transactions on failure, so that nodes can be bootstrapped in parallel. Note that streaming is still serialized.

Streaming now checks more closely if a table was dropped while it was streamed.

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