ScyllaDB Enterprise 2019.1.2

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

The focus of ScyllaDB 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 ScyllaDB 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 ScyllaDB 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/ 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/ 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, ScyllaDB 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, ScyllaDB 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: ScyllaDB init process: a possible race between role_manager and pasword_authenticator can cause ScyllaDB to exit #4226
  • Stability: ScyllaDB 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 ScyllaDB 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 ScyllaDB to exit #4386
  • Sec Index: A partition key index may cause a regular query to fail with “No such index#4539