[RELEASE] ScyllaDB 5.1.14

The ScyllaDB team announces ScyllaDB Open Source 5.1.14, a bugfix release of the ScyllaDB 5.1 stable branch. ScyllaDB Open Source 5.1.14, like all past and future 5.x.y releases are backward compatible and support rolling upgrades.

Note that the latest stable ScyllaDB Open Source release is 5.2, and you are encouraged to upgrade to it.

Related links:

Issue fixed in this release:

  • Setup: The installer now wipes filesystem signatures from the individual disks making up a RAID array, preventing problems with reuse of disks. #13737
  • CQL Conflict resolution: compare_cells_for_merge may wrongly prefer an expired cell over a live and expiring one #14182. Before this fix, when two cells have the same write timestamp and both are alive or expiring, we compare their value first, before checking if either of them is expiring and if both are expiring, comparing their expiration time and TTL value to determine which of them will expire later or was written later. This was based on an early version of Cassandra. However, the Cassandra implementation rightfully changed in CASSANDRA-14592, where the cell expiration is considered before the cell value. See update-ordering in Scylla docs for more info.
  • Stability: a rare failure in row_cache_test/test_concurrent_reads_and_eviction #12462
  • Stability: a failure when reading metrics, caused by a rare race condition when another node is down. (seastar::metrics::double_registration (registering metrics twice for metrics: storage_proxy_coordinator_background_replica_writes_failed_remote_node)) #11017
  • Stability: messaging: when upgrading OSS nodes to Enterprise, service-levels are matched to the default scheduling group #13841, #12552
  • Stability: offstrategy compaction races with view building on staging sstables #11882. Offstrategy compaction is triggered after repair and the latter places sstables in the staging subdirectory if view building is required.
  • Stability: partitioned_sstable_set::insert might stall when called by table::make_reader_v2_excluding_sstables. The root cause is View building from staging creates a reader from scratch for every partition, in order to calculate the diff between new staging data and data in base sstable set, and then pushes the result into the view replicas. #14244
  • Stability: bad_alloc (seastar - Failed to allocate 536870912 bytes) #13491. Root cause is a logic fault causing the reader to attempt to read all the data, consuming all memory. Can occur during sstableloader/nodetool refresh, repair or range scan.
  • Stability: mutation_reader_merger can overflow stack when merging many empty readers. This may happen when running a second repair right after the other. #14415
  • Stability: View building crashes on large partitions with range tombstones. #14503