[RELEASE] ScyllaDB 6.1.3

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

Note that the latest open-source stable branch is 6.2, and you are encouraged to upgrade to it.

Related links:

Issue fixed in this release:

CQL related

  • CQL: cql_duplicate_bind_variable_names_refer_to_same_variable - a bind variable that appears twice in a CQL query refers to a single variable (if false, no name matching is performed). Default: True. #15559
  • CQL: a rare case when data in memtable is not considered when deciding whether expired tombstone can be discarded during read. #20916

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

  • Stability: storage_proxy: make sure there is no end iterator in _live_iterators array #20874
  • Stability: Bootstrap fails with init - Startup failed: std::runtime_error (Failed to obtain IP addresses of nodes that should be seen as alive within 30s) #20600
  • Stability: coredump during bootstrap when replacing a dead node #20629
  • Stability: A race condition between tablet repair and tablet split (the latter happens when a table grows). #19378 #19416.
  • Stability: major compaction flushes all tables in successive runs despite compaction_flush_all_tables_before_major_seconds having a non zero value #20301
  • Stability (LWT): paxos_state::guard leaks semaphores resulting in memory leak that leads to large allocations and reactor stalls for LWT users #20602 The issue was introduced in 6.0
  • Stability: raft topology; concurrent removenode requests for the same node can hang #20271
  • Stability: Scylla hangs when it doesn’t have permissions to TLS files #10305
  • Stability: time_window_compaction_strategy::get_reshaping_job must limit partial_sort range to multi_window size. The result might be a crash and infinite restart loop #20608
  • Stability: Too many pending replicas for a table. The fix improve validation of the new RF in an ALTER command #20039
  • Stability: Better error handling in Add TLS certificate authenticator, should capture boost::regex_error in auth::certificate_authenticator’s ctor #20941
  • Stability: a potential use after free, make_streaming_consumer passes reference to token_metadata to check_needs_view_update_path without holding ptr #20979

Tablets related

  • Tablets: decommission a node in multi-dc failed to find a tablet replica for a secondary-index table #20240
  • 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
  • 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
  • scylla_commitlog_memory_buffer_bytes seems to be growing since 6.0. The root cause was a metric, not the actual memory usage #20862
  • Tablet: Cleanup of a deallocated tablet throws an exception. Since failed cleanup is retried, ScyllaDB ends up in an infinite loop. #19752
  • Tablet: remove_node_during_local_index_build failed. #18862