Scylla Open Source 4.0.1

The ScyllaDB team announces the release of Scylla Open Source 4.0.1, a bugfix release of the Scylla 4.0 stable branch. Scylla 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 Scylla 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 Scylla 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

28 May 2020