Last week in scylladb.git master (issue #215; 2024-01-28)

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

There were 149 non-merge commits from 23 authors in that period. Some notable commits:

There is a new operating mode, maintenance mode. In this mode the node does not communicate with clients or other nodes, and only listens on the maintenance socket and the REST API. It can be used to fix damaged nodes.

Tablets now support the removenode and replacenode operations.

When replaying commitlog mutations after a crash, we now ignore mutations to tablets that were migrated away from this node, preventing data resurrection.

Writing sstables no longer blocks migrations of unrelated tablets.

The schema of the system.tablets table no longer includes the keyspace name in the partition key, as it is redundant.

When using consistent topology, we now drain requests from the decommissioning node, to prevent it continuing to use an outdated topology.

In experimental consistent topology, we no longer remove an endpoint if it is being replaced by another node with the same IP address.

CQL tracing now records two additional fields: the user who initiated the query, and the reader concurrency semaphore that is in charge of admitting the query on the replica.

We now invalidate materialized view prepared statements when the schema of the base table changes. This prevents a stale prepared statement from returning incorrect results.

CQL multi-column comparisons now have better NULL checks.

The DROP TYPE IF EXISTS statement now works if the type’s keyspace doesn’t exist.

Metrics now support sending Prometheus histograms as native histograms, with a sufficiently new version of Prometheus. The native histograms consume less bandwidth than the text-based histograms.

The scylla sstable tool now supports loading the schema of materialized views and indexes.

The hint manager is now started later in the boot process, until we have better information about other nodes in the cluster.

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