[RELEASE] ScyllaDB 6.2.1

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

Users are encouraged to upgrade to 6.2.1.

Related links:

Issue fixed in this release:

CQL and correctness related

  • CQL: a rare case when data in memtable is not considered when deciding whether expired tombstone can be discarded during read. #20916
  • Disable tombstone GC on pending replica to fix potential data resurrection during streaming. This fix does not impact OSS users #21090

Install related

  • Install: install without setup of selinux fails on coredump configuration check #19325
  • Install: [rocky9] systemd-coredump fails because of /var/lib/scylla does not have valid SELinux context scylladb#20573
  • Install: seastar-addr2line appears broken in Scylla images #21077. Seastar-addr2line is a utility that decodes raw backtraces from ScyllaDB log messages into human-readable stack traces with function names, file locations, and line numbers.

Stability related

  • ScyllaDB can crash during shut down, terminate called after throwing an instance of ‘storage_io_error’ when stopping compaction_manager #21159

  • Compaction_manager: compaction_disabled: return true if not in compaction_state, result in a failed with ConfigurationException

  • Stability: a potential use after free, make_streaming_consumer passes reference to token_metadata to check_needs_view_update_path without holding ptr #20979

  • Multishard reader is deadlock prone #21263

  • raft topology: use-after-free raft_topology_cmd_handler, dereferencing pointer to old topology state after reload #21220

  • Schema commitlog continuously updated (system.peers writes from storage_service::on_change) #20991

  • stream-session: can deadlock with db::vew::check_view_update_path() #21264

  • tasks: task_manager::module::make_task doesn’t set virtual tasks children’s fields #21278

Tablets related

  • Balancing property is not preserved when there are zero tablets #21175
  • Tablets: Failed to complete splitting of table due to raft::request_aborted (Request is aborted by a caller)] while scylla stopped during Rollback rolling-upgrade #20890
  • null pointer deref in test_tablet_rf_change[down] #21102
  • Tablets: When a tablet is split into two, tombstone garbage collection becomes more complicated, since sstables for the tablet exist in both pre-split and post-split state, causing possible data resurrection during tablet split preparation #20044
  • Tablets: Prevent tablet metadata with too many pending replicas from being saved to disk #20043
  • Tablets: A race between tablet split and repair could cause an sstable not to be split among two new tablets, which in turn could prevent the sstable from being loaded on restart. #20626

Tooling and monitoring

  • Host ID shown as null in nodetool status when node is joining (regression) #17857
  • node_ops_finished_percentage metric for removenode with RBNO never reaching 1, even though removenode finishes #21174
  • nodetool status should show zero-token nodes #19849
  • node-exporter: Disable hwmon collector #21163