[RELEASE] ScyllaDB Enterprise 2022.1.4

The ScyllaDB team announces ScyllaDB Enterprise 2022.1.4, a bug-fix production-ready ScyllaDB Enterprise patch release for ScyllaDB Enterprise 2022.1.

Related Links

Below is a list of performance and stability improvements and bug fixes, each with an open source reference:

  • Incremental Compaction Strategy (ICS) improvements and bug fixes:
    • Make ICS reshape more efficient for off-strategy compaction, including large data sets. This fix a regression in replace node operation, which uses Repair Base Node Operation (RBNO)
    • Crash on compaction completion when ICS ends up with a run containing staging and non-staging files. Error log: “scylla: sstables/sstables.cc:2744:
  • Workload Prioritization improvements and bug fix:
    • Stability: removing a service level during an sstable load could lead to reading deleted memory and exit
    • Stability: some requests can ‘leak’ into the default service level just after authentication
    • Stability: a bug in the service level controller, might give the wrong priority to a task, resulting in timeouts.
  • Stability: Long-term index caching in the global cache, as introduced in 4.6, is a major pessimization for workloads where accesses to the index are sparse. This release disables index caching by default, and provides a configuration parameter “cache_index_pages” to enable it #11889
  • CQL: Other restrictions ignored when clustering key is constrained #6200 #12014
  • Stability: segmentation fault in cases where the base table schema change while MV schema is cached #10026, #11542
  • Stability: Undefined behavior during repair in repair_reader::make_reader #10882
  • Stability: The view builder is responsible for building materialized views when a view is created and after repair. To control its memory consumption, it reads base table sstables in chunks. Due to a bug, it could forget the partition tombstone or an open range tombstone when moving between chunks, leading to a discrepancy between the base table data and the view data. This is now fixed. #11668
  • Stability: unpop partition header of spent partition in multishard mutation query. With the fix, Scylla does not resume an already exhausted partition at the start of generating a new page. #9482
  • Alternator: wrong IS NOT NULL condition for GSI range key #11800
  • Stability: LWT insert crash if clustering key is null #11954
  • Stability: use-after-free in db/view row_locker #12168
  • Stability: a possible race after successful authentication may lead to queries asynchronously queued with the wrong workload prioritization. #12202
  • Alternator: backport Alternator TTL patches from open source to 2022.1:
  • Alternator: don’t allow LSI and GSI to use the same name #10789
  • Alternator: DescribeTable calls should include ProvisionedThroughput #11222
  • Alternator: UpdateItem setting the same value again for GSI range key may drop the row #11801
  • Alternator: missing Projection field in return of DescribeTable #11470
  • API: Attempt to update the live-updatable option in system.config with wrong value produces the error bad_lexical_cast in the log #10394. Config in Scylla is represented as a virtual table, and can be updated (for a subset of parameters) using CQL.
  • CQL: fromJson() should accept “true” and “false” also as strings, as Apache Cassandra does. #7915
  • CQL: scylla: materialized view doesn’t work if there is a “to” column #9450
  • sstables::delete_atomically(std::vector<seastar::lw_shared_ptrsstables::sstable >)::<lambda()>: Assertion `sstdir == sst->get_dir()’ failed.”
  • Stability: Flat mutation reader functions such as upgrade_to_v2 are not exception safe and can cause crashes #9065
  • Stability on AWS EC2: From time to time Scylla reboot failed with “create *.Ec2Snitch: std::system_error (error system:110, Connection timed out)” error. #10250
  • Stability: a concurrent DROP TABLE while streaming data to another node is now tolerated. Previously, streaming would fail, requiring a restart of the node add or decommission operation. #10395
  • Stability: Nodetool SCRUB failing when running on keyspaces with mv, indexes and auto snapshot enabled #10760
  • Stability: Nodetool SCRUB failing when running on keyspaces with mv, indexes and auto snapshot enabled #10760
  • Stability: Accidentally quadratic behavior when a large number of range tombstones is present in a partition has been fixed. #11211
  • Stability: sstables crawling reader can emit duplicated partition end. This issue affects scylla’s scrub compaction (in all modes) as well as the validate operation of the scylla-sstable tool. #11421
  • Stability: 2 Nodes failed after bloom_filter_fp_chance was modified to an unreasonable low number #11524
  • Stability: Service Levels: Node crashes during parsing of service level creation with unreserved keywords #11774
  • UX: Failure to apply a failed batchlog is silent #10636

Let’s make sure the main release notes page has the link to this (and every) release. Thanks!