The ScyllaDB team announces the release of Scylla Enterprise 2019.1.4, which is a production-ready Scylla Enterprise patch release. As always, Scylla Enterprise customers are encouraged to upgrade to Scylla Enterprise 2019.1.4 in coordination with the Scylla support team.
The focus of Scylla Enterprise 2019.1.4 is improving stability and robustness, reducing storage requirements with the new Incremental Compaction Strategy and enabling IPv6. More below.
- Get Scylla 2019.1.4 (customers only, or 30-day evaluation)
- Upgrade from 2019.1.x to 2019.1.4
- Upgrade from 2018.1.x to 2019.1
- Upgrade from Scylla Open Source 3.0 to Scylla 2019.1
- Encryption at Rest
- Submit a ticket
New features in Scylla Enterprise 2019.1.4
Incremental Compaction Strategy (ICS)
The new compaction strategy is an improvement on the default Size Tiered Compaction Strategy (STCS). While it shares the same read and writes amplification factors as STCS, it fixes its doubling of temporary disk usage issue by breaking huge SSTables into smaller chunks, all of which are named an SSTable run.
While STCS forces you to keep 50% of your storage reserved for temporary compaction allocation, ICS reduces most of this overhead, allowing you to use more of the disk — up to 80% — for regular usage. This can translate to using fewer nodes, saving more than a third of your overall storage costs, or allow you to store far more data on your existing cluster. For example, a typical node with 4 TB and 16 shards will have less than 20% temporary space amplification with ICS, allowing the user to run at up to 80% capacity. In a follow-up blog post we will provide a deep dive into ICS disk usage saving.
ICS is only available in Scylla Enterprise.
More on ICS:
As you might have heard, there are no more IPv4 addresses available. As such you can now run Scylla Enterprise with IPv6 addresses for client-to-node and node-to-node communication.
Scylla now supports IPv6 Global Scope Addresses and Unique local addresses for all IPs: seeds, listen_address, broadcast_address etc. Note that Scylla Monitoring stack and Scylla Manager 2.0 already support IPv6 addresses as well. Make sure to enable
enable_ipv6_dns_lookup in scylla.yaml (see below)
Example from scylla.yaml
Enable_ipv6_dns_lookup: true seed_provider: - class_name: org.apache.cassandra.locator.SimpleSeedProvider parameters: - seeds: "fcff:69:46::7b" listen_address: fcff:69:46::7b broadcast_rpc_address: fcff:69:46::7b rpc_address: fcff:69:46::7b …
See related Scylla Open Source issue #2027
Fixed issues in this release are listed below, with open source references, if present:
- Stability: non-graceful handling of end-of-disk space state may cause Scylla to exit with a coredump #4877
- Stability: core dump on OOM during cache update after memtable flush, with !_snapshot->is_locked()’ failed error message #5327
- Stability: Adding a DC with MV might fail with assertion _closing_state == state::closed #4948
- Oversized allocation warning in reconcilable_result, for example, when paging is disabled #4780
- Stability: running manual operations like nodetool compact will crash if the controller is disabled #5016
- Stability: Under heavy read load, the read execution stage queue size can grow without bounds #4749
- Stability: repair: assert failure when a local node fails to produce checksum #5238
- CQL: One second before expiration, TTLed columns return as null values #4263, #5290
- Stability: long-running cluster sees bad gossip generation when a node restarts #5164 (similar to CASSANDRA-10969)
- CQL: wrong key type used when creating non-frozen map virtual column #5165
- CQL: using queries with paging, ALLOW FILTERING and aggregation functions return intermediate aggregated results, not the full one #4540