# \[RELEASE\] ScyllaDB 2026.2.2

**URL:** <https://forum.scylladb.com/t/release-scylladb-2026-2-2/5443>\
**Category:** Release Notes\
**Tags:** enterprise, enterprise-release, scylladb-2026-2\
**Created:** [July 28, 2026, 2:46pm UTC](https://forum.scylladb.com/t/release-scylladb-2026-2-2/5443 "2026-07-28T14:46:44Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Anna](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.scylladb.com/anna/32/48_2.png) [@Anna](https://forum.scylladb.com/u/Anna)\
**Post date:** [July 28, 2026, 2:46pm UTC](https://forum.scylladb.com/t/release-scylladb-2026-2-2/5443/1 "2026-07-28T14:46:44Z")

</div>

The ScyllaDB team is pleased to announce the release of **ScyllaDB 2026.2.2** , a production-ready patch release for [ScyllaDB 2026.2 Short Term Support (STS) Minor Feature Release](https://forum.scylladb.com/t/release-scylladb-2026-2/5426).

More information on ScyllaDB Version Support Policy is available[here](https://docs.scylladb.com/stable/versioning/version-support-enterprise.html).

## Related Links

- [Get ScyllaDB 2026.2](https://docs.scylladb.com/manual/branch-2026.2/getting-started/install-scylla/index.html)

- [Upgrade ScyllaDB 2026.2 (Patch Upgrade)](https://docs.scylladb.com/manual/master/upgrade/upgrade-guides/upgrade-guide-from-2026.x.y-to-2026.x.z.html)

- [Contact our Support Team](https://www.scylladb.com/customer-portal/#support)

## Bug Fixes

The following issues are fixed in this release:

### Alternator

- Alternator’s `ListTable`s operation now correctly excludes internal Paxos tables (\_`$paxos` suffixed tables) from its output in tablet-backed clusters. These tables were previously visible to clients, returning unexpected table names that could confuse applications relying on the table listing.  
[scylladb#30473](https://github.com/scylladb/scylladb/pull/30473)

### Materialized Views (MV)

- The view building worker now reads the list of flushed SSTables before issuing the flush, rather than after. Previously, an SSTable flushed during the staging process could be missed if the list was read after the flush completed, leading to view building inconsistencies.  
[scylladb#30738](https://github.com/scylladb/scylladb/pull/30738)

### Performance

- The evictable reader’s buffer-fill stop condition now correctly detects partition boundaries when checking whether the new buffer has made progress relative to the previous one. Previously, clustering positions from different partitions could be compared, causing the buffer fill to read multiple entire partitions into memory until finding one with a sufficiently advanced position. This could result in excessive memory consumption and degraded read performance on multishard workloads.  
[scylladb#30672](https://github.com/scylladb/scylladb/pull/30672)

### Raft

- Raft server shutdown fiber errors are no longer reported as background failures. During node shutdown, the Raft IO fiber can encounter expected errors (such as `gate_closed_exception`) as the node’s internal services stop. These are now properly recognized as shutdown-related and suppressed from the background error log, reducing spurious error noise during planned shutdowns.  
[scylladb#30499](https://github.com/scylladb/scylladb/pull/30499)

### Reliability

- ScyllaDB now rejects attempts to remove the last node of a datacenter or rack in a cluster with tablet-replicated keyspaces. Proceeding with such an operation would leave tablets with no valid replica placement, potentially resulting in data unavailability. The topology coordinator returns a clear error instead of allowing the operation to proceed.  
[scylladb#30387](https://github.com/scylladb/scylladb/pull/30387)

### Repair

- Repair operations in clusters with a high number of tablets (512+) no longer stall indefinitely when the accumulated tablet migration state exceeds the Raft command size limit. The topology coordinator now batches tablet mutations per table when building repair tablet requests, keeping each Raft command within the configured size limit. Previously, a `command_is_too_big_error` would cause the coordinator to retry the same oversized command in a tight loop, permanently stalling all topology operations until manual intervention.  
[scylladb#30661](https://github.com/scylladb/scylladb/pull/30661)

- Repair and compaction now correctly serialize tablet split bypass with concurrent incremental repair. A race between a tablet split compaction completion and a concurrent incremental repair could cause the split compaction to attempt adding an SSTable that had already been unlinked by the repair, leading to a node abort. The fix ensures the tablet split compaction waits for concurrent repair to complete before proceeding.  
[scylladb#30607](https://github.com/scylladb/scylladb/pull/30607)

### Security

- The `node_exporter` bundled in the ScyllaDB 2026.2 container is updated to version 1.12.0, built from source with an updated Go toolchain.  
[scylladb#30541](https://github.com/scylladb/scylladb/pull/30541)

### Stability

- A memory corruption issue in the `bytes_ostream` move constructor is now corrected. The move constructor failed to update the first chunk’s backref pointer to reflect the new owner’s location. After a move, the stale backref could be written through if the source was reused, causing heap corruption. This fix aligns bytes\_ostream with the existing correct behavior in `managed_bytes`.  
[scylladb#30448](https://github.com/scylladb/scylladb/pull/30448)

- A node restart that could occur during streaming on certain platforms under specific conditions is now prevented. A null pointer dereference in the streaming scheduling group during node shutdown, triggered when a streaming session callback was invoked after its associated object had been destroyed, is now properly handled.  
[scylladb#30491](https://github.com/scylladb/scylladb/pull/30491)

### Storage

- Native restore from GCS (Google Cloud Storage) no longer fails with `malformed_sstable_exception` (checksummed reader hit premature end-of-file). The `ranged_source` IO wrapper now correctly handles the case where an underlying `skip()` call returns an empty buffer, properly detecting end-of-file rather than misreporting a truncated read. A related issue where `ranged_source` could return more bytes than permitted after a skip is also resolved.  
[scylladb#30575](https://github.com/scylladb/scylladb/pull/30575)

- The SSTable index writer no longer produces excessively large index pages for very large SSTables. When an SSTable index entry grew beyond logalloc’s contiguous allocation limit, the writer would fail with an allocation error during repair and compaction. Index pages are now bounded to a safe size, preventing this condition.  
[scylladb#30632](https://github.com/scylladb/scylladb/pull/30632)

- The compression dictionary stored in `sstables::compression::options` is now discarded after deduplication when an SSTable is sealed for reading. Previously, the pre-deduplication dictionary copy was retained in memory for the lifetime of the SSTable object, increasing per-SSTable memory consumption and contributing to memory pressure in clusters with a large number of SSTables using dictionary compression.  
[scylladb#30713](https://github.com/scylladb/scylladb/pull/30713)

### Vector Search

- A node restart during ANN (Approximate Nearest Neighbor) queries in the Vector Search feature is now prevented. A null pointer dereference in `vector_indexed_table_select_statement::query_base_table`, caused by post-filtering being incorrectly applied during certain query execution paths, is now resolved by disabling post-filtering in ANN queries where it is not applicable.  
[scylladb#30491](https://github.com/scylladb/scylladb/pull/30491)
