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
- Get ScyllaDB Enterprise 2022.1.4 (customers only, or 30-day evaluation)
- Upgrade from 2021.1.x to 2022.1.y
- Upgrade from ScyllaDB Open Source 5.0 to ScyllaDB 2022.1
- Submit a ticket
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:
- scylladb/scylladb@c262309: alternator TTL: add metrics
- scylladb/scylladb@db7b11c: alternator: make TTL expiration scanner bypass cache
- scylladb/scylladb@e06b5d9: alternator: updated compatibility.md about TTL feature
- scylladb/scylladb@49a8164: alternator: add configurable scan period to TTL expiration
- 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 errorbad_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