See all blog posts

ScyllaDB Open Source Release 4.0.4

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

Note that the latest ScyllaDB stable branch is ScyllaDB 4.1, and it is highly recommended to upgrade to it.

Related links:

Issues fixed in this release

  • CQL: avoid using shared_ptr’s in unrecognized_entity_exception #6287
  • Storage: SSTable upgrade has a 2x disk space requirement #6682
  • CQL: Default TTL is reset when not explicitly specified in alter table statement #5084
  • Alternator: modifying write-isolation tag is not propagated to a node of another DC #6513
  • Config: Internode, on the wire, compression is not enabled based on configuration #5963
  • UX: scylla-housekeeping, a service which check for the latest ScyllaDB version, return “cannot serialize” error instead of propagating the actual error #6690
  • UX: scylla_setup: on RAID disk prompt, typing same disk twice cause traceback #6711
  • CQL: Impossible WHERE condition returns a non-empty slice #5799
  • For example, the following should always return zero rows:
    SELECT * FROM t1 WHERE r>10 AND r<10 ALLOW FILTERING ;
  • Stability: Counter write read-before-write is issued with no timeout, which may lead to unbounded internal concurrency if the enclosing write operation timed out. #5069
  • Stability: features service lifecycle had been extended since it may be used by the storage_proxy until scylla shuts down. #6250
  • Stability: Issuing a reverse query with multiple IN restrictions on the clustering key might result in incorrect results or a crash. For example:
    CREATE TABLE test (pk int, ck int, v int, PRIMARY KEY (pk, ck));
    SELECT * FROM test WHERE pk = ? AND ck IN (?, ?, ?) ORDERED BY ck DESC;

    #6171
  • Compaction: Fix partition estimation with TWCS interposer #6214
  • Performance: Few of the Local system tables from `system` namespace, like large_partitions do not use gc grace period to 0, which may result in millions of tombstones being needlessly kept for these tables, which can cause read timeouts. Local system tables use LocalStrategy replication, so they do not need to be concerned about gc grace period. #6325
  • Stability: nodetool listsnapshots failed during parallel running with create/clear snapshots #5603
  • Stability: Potential use-after-free in truncate after restart #6230
  • Stability: ScyllaDB freezes when casting a decimal with a negative scale to a float #6720
  • Stability: Stream ended with unclosed partition and coredump #6478

About Tzach Livyatan

Tzach Livyatan has a B.A. and MSc in Computer Science (Technion, Summa Cum Laude), and has had a 15 year career in development, system engineering and product management. In the past he worked in the Telecom domain, focusing on carrier grade systems, signalling, policy and charging applications.