Scylla Enterprise 2019.1.2

The ScyllaDB team announces the release of Scylla Enterprise 2019.1.2, which is a production-ready Scylla Enterprise patch release. Scylla Enterprise 2019.1.2 is a bug fix release for the 2019.1 branch, a stable branch of Scylla Enterprise. As always, Scylla Enterprise customers are encouraged to upgrade to Scylla Enterprise 2019.1.2 in coordination with the Scylla support team.

The focus of Scylla Enterprise 2019.1.2 is improving stability and robustness, by fixing issues, and adding checkpoints to catch, report, and handle issues reported prior to this release.

Related Links

Fixes issues in this release are listed below, with open source references, if present:

  • Stability: Possible race condition between compaction deleting SSTable and reshuffling of SSTable, for example when migrating data from Apache Cassandra, or Scylla server with a different core number. #4622
  • Stability: Catch SSTable unclosed partition format error in the write path, not in the read path. A new command line flag: –abort-on-internal-error makes Scylla exit as soon as such an error occurs, making it easier to catch and debug. #4794, #4786
  • Stability: Receiving side of streaming may abort or produce incorrect SSTables when a failure happens on the sender side, generating the following error:
    sstables/sstables.cc:1748: void sstables::seal_summary(sstables::summary&, std::experimental::fundamentals_v1::optional&&, std::experimental::fundamentals_v1::optional&&, const sstables::index_sampling_state&): Assertion `first_key' failed. #4789
  • Stability: A node restart during repair may cause the node streaming data to it to abort with an error message:
    scylla: message/messaging_service.cc:549: seastar::shared_ptr netw::messaging_service::get_rpc_client(netw::messaging_verb, netw::messaging_service::msg_addr): Assertion `!_stopping' failed.
    Aborting on shard 1. #4767
  • Stability: In some cases, when --abort-on-lsa-bad-alloc is enabled, Scylla aborts even though it’s not really out of memory #2924
  • Stability: Potential undefined behavior in SSTable cleanup, which may cause a segmentation fault #4718
  • Stability: When using MC SSTable format, Scylla might fail to exit gracefully with an out of disk space error: #4614
  • Stability: A possible deadlock between connection authentication and the stall detector, in cases where the authentication logic generates a stall #4759
  • Stability: Exceptions in index reader are not handled gracefully #4761
  • Stability: Fix segmentation faults when replacing expired SSTables #4085
  • Stability: Scylla init process: a possible race between role_manager and pasword_authenticator can cause Scylla to exit #4226
  • Stability: Scylla exits ungracefully when shutting down while running repair #4589
  • CQL: Using tuple in the primary key can fail the large cell detector #4645
  • CQL: Using tuples as a clustering key type without using the to_string() implementation, for example, a tuple, will cause the large row detector to exit. #4633
  • CQL: Marshalling error when using Date with capital Z for timezone, for example, ‘2019-07-02T18:50:10Z’ #4641
  • Performance: Repair of a single shard range opens RPC connections for streaming on all shards. This is redundant and can exhaust the number of connections on a large machine. Note that Scylla Manager runs repair on a shard by shard basis. Running repairs from nodetool (nodetool repair) will make the issue even worse. #4708
  • Performance: improve the efficiency of operations on large collections
  • Sec Index: NodeJS driver: For some drivers, for example, NodeJS, paging indexes can end up in an infinite loop of returning pages with 0 results but “has_more_pages” flag set to true #4569
  • Sec Index: Filtering may ignore clustering key restrictions if they form a prefix without a partition key #4541
  • MV: In rare cases, when a node dies, and *another* node has MV updates to send him, the sending node is notified of other node death just after sending request started. The sending nodes than need to cancel an ongoing request which might cause Scylla to exit #4386
  • Sec Index: A partition key index may cause a regular query to fail with “No such index#4539