Mar18

Scylla Open Source Release 3.0.4

Share on facebook
Share on twitter
Share on print
Share on email
Share on linkedin

Subscribe to Our Blog

Scylla Open Source Release Notes

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

The major fix in this release is for a rare race condition between a schema update (adding or removing a column) and an initiated compaction, which may cause the compaction to write values to the wrong columns. The short time window where this may occur is just after compaction was initiated but before it starts writing to storage. Should the race condition occur, there may be a crash or validation/run-time error on the driver side. #4304

Related links:

Other issues solved in this release:

  • commit log: On rare cases, when two chunks of the commit log or hinted handoff are written simultaneously, they might overlap, cause one to write on the header of the other, resulting in a “commitlog files are corrupted: Checksum error in segment chunk at XXXX” message. #4231
  • Materialized Views: a mistake in flow control algorithm result with Scylla fail to apply back pressure to the client #4143
  • Scylla Driver: Using Scylla shard aware drivers may cause unbalanced connections, where one shard has tens of thousands of connections, while the others do not, resulting in a temporary slow down #4269
  • MC FIle format: large promoted indexes might require large allocations and cause performance problems or fail with bad_alloc. This release does not fix the problem completely but makes it less severe. #4217
  • MC Format: in some cases, writing an uncompressed mc sstable in debug mode fails with EINVAL due to unaligned DMA address #4262
  • CQL: Scylla does not support insertion of null data through JSON inserts #4256. For example:
    INSERT INTO mytable JSON '{
        "myid" : "id2",
        "mytext" : "text234",
        "mytext1" : "text235",
        "mytext2" : null
    }';
  • Housekeeping: scylla-housekeeping for servers with python version older than 3.6, reporting “TypeError: the JSON object must be str, not 'bytes'#4239
  • Streaming: rebuilding a node may cause long reactor stalls on large clusters #3639
  • Bootstrap: A bootstrapping node doesn’t wait for a schema before joining the ring, which may result in the node failing to bootstrap, with the error “storage_proxy - Failed to apply mutation”. In particular, this error manifests when user-defined type is used. #4196
  • Authentication: possible access to uninitialized memory in password_authenticator #4168
  • fragmented_temporary_buffer::read_exactly() allocates huge amounts of memory on premature end-of-stream, result with bad_alloc when reading from CQL, if the connection is closed in the middle of a frame, and other places #4233
  • CQLSh now use TLSv1.2 by default

Tzach LivyatanAbout 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.


Tags: open source, Release Note, release notes, Scylla Open Source