[RELEASE] ScyllaDB 2026.2.6

The ScyllaDB team is pleased to announce the release of ScyllaDB 2026.2.6, a production-ready patch release for ScyllaDB 2026.2 Short Term Support (STS) Minor Feature Release.

More information on ScyllaDB Version Support Policy is available here.

Related Links

Bug Fixes

The following issues are fixed in this release.

Alternator

  • A use-after-free could occur in the batch_write_item operation. The handler spawned a set of background fibers, each holding a reference to the request’s client_state object, and returned as soon as the first error was detected without waiting for the remaining fibers to complete. If the request’s client_state was destroyed before a still-running fiber resumed, that fiber could access already-freed memory. batch_write_item now waits for all spawned fibers to complete before returning, ensuring client_state remains valid for their entire lifetime.
    scylladb#31107

Compaction

  • nodetool stop RESHAPE (and the equivalent stop_compaction API) is now honored across all compaction groups. Previously, only the reshape task currently running was stopped, while the surrounding loop went on to start reshaping the next compaction group, defeating the stop request. The stop signal is now propagated so that reshape is aborted for every compaction group.
    scylladb#30770

  • Compaction backlog was under-reported for compaction groups created after a table started, for example due to tablet split, migration, or merge. This caused the compaction controller to under-provision resources for those groups, potentially delaying compaction work. Compaction groups now register their backlog tracker immediately upon creation, so their workload is correctly accounted for.
    scylladb#31186

  • Newly split compaction groups now correctly inherit the tombstone_gc_enabled value of their parent group instead of resetting to the class default. Previously, a split-ready compaction group created during a pending-replica split could briefly re-enable tombstone GC even though the parent group had it disabled to protect data that is still being streamed in, which is now prevented.
    scylladb#31194

CQL

  • A control connection whose classification was fixed at REGISTER time could later be reused by drivers for ordinary user requests, letting that traffic keep running in the connection’s dedicated scheduling group. The CQL server now re-evaluates the classification on every authorized query, prepared-statement execution, and batch, and reclassifies the connection when it is used for user load, keeping scheduling groups aligned with actual traffic.
    scylladb#30584

  • CQL bind variables used with the IN operator can now be given lowercase names, matching the naming rules used elsewhere in CQL.
    scylladb#31033

Storage

  • The GCS client’s HTTP client is now fully drained before it is closed. Previously, closing the client only drained its idle connection pool, so a connection checked out for an in-flight request could remain in use after close() returned, allowing it to outlive the client object that owned it. This is now prevented, improving stability of GCS-backed object storage operations.
    scylladb#31214

  • A race condition in S3 credential refresh could allow a request to be signed with stale or empty credentials while a credential reset was in progress. The server rejects such requests with a non-retryable error, causing the operation to fail rather than be retried. The credential refresh logic is now properly serialized, preventing this race.
    scylladb#31109

  • Diagnostics are added for the case where an SSTable component fails to open with ENOENT. The error message no longer misleadingly says “Could not create” when the file was actually opened read-only, and additional information is logged to help distinguish a genuinely missing file from other causes, making it easier to triage issues involving unlinked or re-added SSTables.
    scylladb#30281

Tablets

  • During a rack-list replication-factor change, the tablet load balancer now spreads new replicas across all of a target node’s shards instead of placing them all on shard 0. The cluster still self-heals from the earlier behavior by later rebalancing the overloaded shard, but the fix avoids the slowdown (proportional to the number of shards) and the extra intra-node migrations that the imbalance used to cause.
    scylladb#31026

  • Tablet migration streaming no longer waits for a pending replica’s compaction group to finish splitting before advancing. Since incoming SSTables are already split on attach and split mode is enabled on both the source and destination before streaming starts, the additional wait was unnecessary and could delay migration completion.
    scylladb#31160

Materialized Views (MV)

  • A lost-wakeup condition in the staging SSTables registrator used by view building is prevented. The registrator could miss a notification that arrived while it was not yet waiting, because the notification mechanism only wakes waiters present at that exact moment. Pending staging SSTable registrations are no longer at risk of being delayed indefinitely.
    scylladb#31178

I hope to get started with ScyllaDB university.

1 Like