See all blog posts

ScyllaDB Open Source Release 4.0.1

The ScyllaDB team announces the release of ScyllaDB Open Source 4.0.1, a bugfix release of the ScyllaDB 4.0 stable branch. ScyllaDB Open Source 4.0.1, like all past and future 4.x.y releases, is backward compatible and supports rolling upgrades.

Related links:

Issues fixed in this release

  • CQL Read: an integer overflow in the index reader, introduced in 3.1.0. The bug could be triggered on index files larger than 4GB (corresponding to very large sstables) and result in queries not seeing data in the file (data was not lost). #6040
    To check if you might expose to the bug, use the following in ScyllaDB data directory
    find -name "*Index.db" | xargs -n 1 -i bash -c "a=\`stat -c%s {}\`; [ \$a -lt 4294967296 ] || echo \"{} is of \$a huge index file detected\""
  • Stability: a rare race condition between a node failure and streaming may cause abort #6414, #6394, #6296
  • Stability: When hinted handoff enabled, commitlog positions are not removed from rps_set for discarded hints #6433 #6422. This issue would occur if there are hint files stored on disk that contain a large number of hints that are no longer valid – either older than gc_grace_seconds of their destination table, or their destination table no longer exists. When ScyllaDB attempts to send hints from such a file, invalid hints will cause memory usage to increase, which may result in “Oversized allocation” warnings to appear in logs. This increase is temporary (ends when hint file processing completes), and shouldn’t be larger than the hint file itself times a small constant.
  • Stability: a rare race condition between topology change (like adding a node) and MV insert may cause an “seastar::broken_promise (broken promise)” error message, although there is no real error #5459
  • Stability: speculative retries are mistagged to the wrong scheduling group #6170
  • Stability: When speculative read is configured, a write may fail even though enough replicas are alive #6123
  • Tools: fstrim service runtime error “NameError: name 'k' is not defined” in scylla_util.py #6294

About Tzach Livyatan

Tzach Livyatan has a B.A. and MSc in Computer Science (Technion, Summa Cum Laude), and has had a 15 year career in development, system engineering and product management. In the past he worked in the Telecom domain, focusing on carrier grade systems, signalling, policy and charging applications.