[RELEASE] ScyllaDB Enterprise 2024.1.8

The ScyllaDB team announces ScyllaDB Enterprise 2024.1.8, a bug-fix production-ready patch release for ScyllaDB Enterprise 2024.1 LTS Release.

This release introduces the zstd compression algorithm for node-to-node communication, in addition to the existing lz4 compression. The efficiency of each compression algorithm is workload-dependent.
Zstd compression is an Enterprise-only feature.

To enable zstd compression, set:

  • Internode_compression_enable_advanced: true
  • internode_compression_zstd_max_cpu_fraction: 0.05. The value controls the compression vs CPU overhead tradeoff for zstd.

Related Links

The following issues are fixed in this release (with an open-source reference, if available):

  • Encryption at Rest (EaR): a rare bug in KMS connectivity might cause ScyllaDB to exit
  • Stability: Off-strategy compaction is used to make sstables conform to the compaction strategy after an operation such as repair. Off-strategy compaction for TWCS will now have less storage space overhead. #16514
  • Stability (Materialized Views): A crash when a view was created while a TRUNCATE operation was in progress #17543
  • Stability (LWT): in rare cases, coordinator sometimes run multiple transactions on the same key in parallel #19698
  • Stability: malformed_sstable_exception due to reload of bloom filters from unlinked sstables #19722
  • Stability: In rare cases, ScyllaDB might crash while inserting a mutation into memtable or cache. #19552
  • Stability: writes have a server memory footprint even after an acknowledgement is returned to the client, in order to track writes to replica past the consistency level requirement. In one case, CL=ANY and all the target replicas DOWN, writes were kept even after all replicas acknowledged, increasing server memory load, and possibly preventing topology changes from making progress. This scenario can be generated internally when writing to a materialized view. #19529
  • Monitoring: storage_proxy: LWT contention metric is not initialized #19654
  • Monitoring: Scylla 2024.1 enables per-table metrics by default on a per-instance level. Some of the metrics, like cache_hit_rate, latency and live_disk_space were not reported, and missing from the Monitoring Table Dashboard. #18642
  • Monitoring: in ScyllaDB Enterprise, some metrics are reported per service level. Starting from this release, the label on these metrics has change from “user”, to “sl:default”, where the later change with the service level.
  • Performance: streaming/repair: add a flag to control tombstone GC for streaming/repair compaction. enable_tombstone_gc_for_streaming_and_repair If the compacting reader is enabled for streaming and repair (see enable_compacting_data_for_streaming_and_repair), allow it to garbage-collect tombstones which can reduce the amount of data repair has to process. This flag can be used to reduce repair times in clusters which suffer from tombstone build-up. #19015
  • Performance: A new configuration “maintenance_reader_concurrency_semaphore_count_limit” controls the number of concurrent reads allowed for maintenance operations (e.g. repair). This helps repair in some situations where different nodes have different shard counts. #19248
  • Performance: Statements such as SELECT count(*) use an internal map-reduce service to parallelize the query. ScyllaDB no longer does so for single-partition queries as they don’t benefit from it. #19349
  • Performance: If the CPU is busy processing a query, ScyllaDB will let that query complete before starting another one, since several queries using the CPU concurrently on a shard will make all of them slower. There is now an option to allow increasing CPU concurrency on queries for workloads where this helps. #19017
  • ADMIN API: using the admin REST API may lead to a crash with assertion `!_end && !_zc_bufs && “Was this stream properly closed?”’ failed #19494
  • Perftune: regression introduced in Scylla 2023.1.0 which broke a logic around enabling aRFS feature. #4396
  • Perftune: add a native support for VLAN networking interfaces, which can be passed to the --nic option.
  • Setup: ubuntu 24.04 scylla_setup failing on kernel check (Command ‘mkfs.xfs /var/tmp/kernel-check.img’ returned non-zero exit status 1) #18568