[RELEASE] ScyllaDB 5.4.7

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

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

Related links:

Issue fixed in this release:

  • Tracing: the ability of figuring which shard owns a partition from system.large_partition by analyzing a corresponding sstable id was broken when moving to UUID based SSTable numbering #18381
    Instead, one can use scylla sstable shard-of to extract shards which own the specified SSTables. #16343

  • Stability: Bad estimation for temporary sstables (containing GCed data only) causes, in the worst case, of 2x space amplification for filters #18283

  • Stability: clustering_range intersection() can cause an infinite loop #18688

  • Image: while dropping openssh-server from the ScyllaDB image, other system packages used by ScyllaDB scripts were also dropped.#17787 The regression was introduced in 5.4.6.

  • Config: default task_ttl_in_seconds is 0, but scylla.yaml changes the value to 10. #16714

  • Stability: direct failure detector: make ping timeout configurable and increase the default, from 300 to 600 ms #16607. Failure detector is an internal inter-node mechanism.

  • Stability: fromJson() or INSERT JSON fails to set a map<timeuuid, int> #18477

  • Stability: handle_paxos_accept() fails to record a trace message when done with handling #18725

  • Stability: mutation_fragment_stream_validating_filter doesn’t respect validation_level::none #18662. The issue might cause false-positive validation errors during repair/streaming, leading to aborting the operation.

  • Stability: Materialized View (MV): memory used by a view updates batch is incorrectly divided #17854

  • Stability: MV semaphore units are not kept alive until a view update finishes #17890

  • Tooling: native sstable validation yields false positive errors (limited to MX format) #16326

  • Stability: Potential use-after-move in streaming’s stream_result_future (courtesy of clang-tidy) #18332

  • Stability: Reclaimed bloom filter is left back in disk when the SSTable is deleted #18398

  • repair: add control for repair percentage for partition count estimation #18615. The new parameter is repair_partition_count_estimation_ratio. The default 10% has not changed.

  • Stability: Scylla crash when reading from mutation fragments with token() filtering #18637

  • Performance: The algorithm for picking an index for a request is not always deterministic #7969

  • Stability: Use-after-move in sstable writer (courtesy of clang-tidy) #18323

  • Stability: Use-after-move in thrift/handler.cc:make_non_overlapping_ranges() (courtesy of clang-tidy) #18356

  • Stability: utils::chunked_vector fill constructor is exception unsafe #18635

  • Stability: Wrong exception is printed in build step exception handling #18423