The ScyllaDB team is pleased to announce the release of ScyllaDB 2026.1.9, a production-ready patch release for ScyllaDB 2026.1 Long Term Support (LTS) Release.
More information on ScyllaDB Version Support Policy is available here.
Related Links
Bug Fixes
The following issues are fixed in this release.
Compaction
- Resharding now correctly detects when disk-space pressure triggers out-of-space prevention and aborts the operation instead of silently leaving orphaned SSTables behind. Previously, a resharding attempt under low disk space could appear to succeed while the resulting SSTables were never properly registered, leading to data that was invisible to subsequent compactions.
scylladb#30190
Compression
- After writing a dictionary-compressed SSTable, the compression dictionary body is now properly discarded from the in-memory compression options. Previously, the dictionary data could remain in memory after the write was complete, consuming additional memory proportional to the number of open SSTables sharing the same dictionary. This reduces steady-state memory usage for workloads using dictionary compression.
scylladb#30732
Materialized Views (MV)
- The load factor of the row locker hash map used during materialized-view replica update pushes is increased to prevent oversized contiguous memory allocations. Under heavy MV update workloads, the previous load factor could cause the hash map to request allocations that exceed the log-structured allocator limit, triggering allocation warnings. This improves stability of nodes serving MV-heavy workloads.
scylladb#30659
Raft
-
Shutdown-related fiber errors in the Raft server are no longer reported as background failures. Previously, when a Raft group was being shut down, transient internal errors from the shutdown fiber could surface as unexpected background error logs, causing unnecessary concern during planned node restarts.
scylladb#30513 -
The
trigger_stepdownREST API endpoint now correctly reads thegroup_idparameter from the query string rather than the URL path. This resolves an issue where the API call would not find the intended Raft group, preventing the stepdown operation from executing as expected.
scylladb#30635
Repair
-
Tablet repair mutations are now batched per table in
add_repair_tablet_request, reducing the size of individual Raft commands. Previously, when repairing tables with a large number of tablets, the repair request could exceed the Raft command size limit (approximately 32 MB), causing the repair to fail to start. This fix allows repair to proceed on tables with many tablets.
scylladb#30675 -
A race condition in tablet repair is resolved where a concurrent deletion of a repair request could cause a null pointer dereference in
storage_service::repair_tablet. The repair path now safely handles the case when the repair request is removed while a repair operation is in progress.
scylladb#30505 -
The SSTable writer now avoids generating excessively large index pages. When partitions contain a very large number of rows, the promoted index could exceed the log-structured allocator’s contiguous allocation limit, causing compaction or repair operations to fail with an allocation error. Index pages are now split appropriately to stay within safe limits.
scylladb#30663 -
The multishard evictable reader now correctly enforces its buffer-fill stop condition, preventing it from reading multiple partitions into memory in a single fill cycle. Previously, a subtle edge case in the stop-condition logic could cause the reader to accumulate significantly more data in memory than intended, increasing memory pressure during range scans.
scylladb#30679
Schema
- An
ALTER TABLEoperation no longer emits an emptyview_building_tasksmutation when no materialized views are being built. Previously, this unnecessary mutation could cause schema agreement delays in mixed-version clusters, leading to timeouts onCREATE TABLEoperations during rolling upgrades.
scylladb#30412
Storage
- The S3 multipart upload response parser now gracefully handles responses that are well-formed XML but do not contain the expected
CopyPartResultorETagelements (such as S3 error responses). Previously, this could result in a null pointer dereference when the S3 backend returned an error during a multipart copy operation, for example during backup or restore workflows.
scylladb#30657
Tablets
- The tablet allocator now correctly sets
tablet_set_disk_sizewhen planning replication factor (RF) change migrations. Previously, an incorrect load sketch update during RF changes could lead to suboptimal tablet placement decisions, as the allocator used stale or incorrect size information for the affected tablet set.
scylladb#30445