Cassandra 5.0.9
Apache Cassandra 5.0.9 is out, and before you hit nodetool upgrade on every node in the cluster, let us look at what actually changed. It is a maintenance release, which means the headline is bug fixes — but a few of those fixes touch paths that can bite you in production if you are not paying attention.
The One That Will Bite You First
Coordinator load-shedding had a nasty bug (CASSANDRA-21508): when shedding kicked in, it returned OverloadedException without setting a stream ID, which misrouted query responses to the wrong client. If you run hot clusters with load-shedding enabled, this is the fix you have been waiting for. Patch it before it patches you.
SAI Gets Segment-Aware Checksums
SAI component checksum validation is now segment-aware (CASSANDRA-21516). Previously the validation could fail on large segments, producing false corruption alarms. If you have seen mysterious SAI validation errors in your logs, this release addresses them. Relatedly, SAI now correctly sends range tombstones to the coordinator for queries on static columns (CASSANDRA-21332) — static column queries have been a sore spot, and this closes a real correctness gap.
What Else Changed
- cqlsh now supports Python 3.12 and 3.13 (CASSANDRA-20997) — that dependency headache is gone for modern distros.
- Compaction space checks use estimated compressed size (CASSANDRA-21245) — fewer spurious "not enough free space" refusals.
- gen-doc dropped its Go dependency in favor of a Python implementation (CASSANDRA-21432).
- nodetool import
--copy-datashort option renamed from-pto-cd(CASSANDRA-20214) — scripts using-pwill break. - Paxos v2 option added to
cassandra.yamlfrom the 4.1 line (CASSANDRA-21316). - Fixes to
hasReplicaWithOngoingRepairassertion errors (CASSANDRA-21426),system_views.settingsnon-string key selects (CASSANDRA-21348), snapshot name validation (CASSANDRA-21389), and aBTree.FastBuilder.reset()bug that could corrupt SSTable headers during schema disagreement (CASSANDRA-21216, CASSANDRA-21260).
The Skeptic Corner
There is no new functionality here to get excited about — that is the point of a 5.0.x patch. The real question is whether your workload touches the fixed paths. If you use SAI heavily, or run load-shedding, upgrade promptly. If you are on a quiet cluster, there is no rush, but the -p → -cd rename in nodetool means any automation you have should be audited before the next release cycle forces your hand.
Upgrade via tarball or your package manager, run nodetool upgradesstables if coming from an older 5.0.x, and keep an eye on the CASSANDRA ticket numbers above if you want the full story.