# \[RELEASE\] ScyllaDB 2026.3.5

**URL:** <https://forum.scylladb.com/t/release-scylladb-2026-3-5/5575>\
**Category:** Release Notes\
**Tags:** enterprise, enterprise-release, scylladb-2026-3\
**Created:** [November 9, 2026, 4:43pm UTC](https://forum.scylladb.com/t/release-scylladb-2026-3-5/5575 "2026-11-09T16:43:23Z")\
**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:** [November 9, 2026, 4:43pm UTC](https://forum.scylladb.com/t/release-scylladb-2026-3-5/5575/1 "2026-11-09T16:43:23Z")

</div>

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

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

## **Related Links**

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

- [Upgrade ScyllaDB 2026.3 (Patch Upgrade)](https://docs.scylladb.com/manual/branch-2026.3/upgrade/upgrade-guides/upgrade-guide-from-2026.x.y-to-2026.x.z.html "https://docs.scylladb.com/manual/branch-2026.3/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 "https://www.scylladb.com/customer-portal/#support")

## **Bug Fixes**

The following issues are fixed in this release.

### **Alternator**

- `DescribeTable` did not return `WarmThroughput` for a table or `ProvisionedThroughput` for its Global Secondary Indexes (GSIs), so tools that expect these fields, such as the Terraform AWS Provider, could not manage Alternator tables. `DescribeTable` now returns `WarmThroughput` for the table and for each active GSI, and returns each GSI’s own `ProvisionedThroughput`. `CreateTable` and `UpdateTable` now validate GSI `ProvisionedThroughput` the same way DynamoDB does: it is required for `PROVISIONED` tables, rejected for `PAY_PER_REQUEST` tables, and both capacities must be at least 1. In addition, `CreateTable` now returns the complete `TableDescription`, and a table `ProvisionedThroughput` of zero or less is rejected. As a result, Alternator works better as a drop-in DynamoDB replacement with standard infrastructure-as-code tools.  
[scylladb#32383](https://github.com/scylladb/scylladb/pull/32383 "https://github.com/scylladb/scylladb/pull/32383")

### **CQL**

- A query that used a bind variable inside an aggregate’s argument (for example, `max(intasblob(?))`) or applied to its result (for example, `max(m)[?]`) could cause the node to restart. Aggregates are now evaluated with the query options, so such queries return the expected results, with or without `GROUP BY`.  
[scylladb#32754](https://github.com/scylladb/scylladb/pull/32754 "https://github.com/scylladb/scylladb/pull/32754")

- A query that combined a global secondary index on a static column with a clustering-key restriction could cause the node to restart. The clustering-key restriction is no longer pushed into the index lookup, and it is still enforced when reading the base table, so such queries now return correct results.  
[scylladb#12829](https://github.com/scylladb/scylladb/issues/12829 "https://github.com/scylladb/scylladb/issues/12829"), [scylladb#32633](https://github.com/scylladb/scylladb/pull/32633 "https://github.com/scylladb/scylladb/pull/32633")

### **Hinted Handoff**

- When a hint segment contained an unreadable entry, hints from that segment that had not yet been delivered could be discarded, or the segment could be retried repeatedly. Such a segment is now handled like any other segment: hints that can be read are retried until delivered, and the segment is removed afterward. This improves hint delivery and consistency between replicas.  
[scylladb#32474](https://github.com/scylladb/scylladb/pull/32474 "https://github.com/scylladb/scylladb/pull/32474")

- With commitlog encryption enabled, changing the number of shards moved hint segments to other shard directories without their encryption metadata files, so those hints could not be replayed. Hint segments are now moved together with their encryption metadata, so hints remain readable after a shard count change. Segments separated from their metadata by earlier versions are not recovered.  
[scylladb#32720](https://github.com/scylladb/scylladb/pull/32720 "https://github.com/scylladb/scylladb/pull/32720")

### **Lightweight Transactions (LWT)**

- For tables in tablets keyspaces, writes to the per-table Paxos state tables did not wait for the commitlog to sync in the default `periodic` commitlog mode, so an acknowledged Paxos promise or accept might not be retained after an unclean node stop. Paxos state writes now always wait for the commitlog sync, preserving linearizability of LWT operations on tablets tables.  
[scylladb#32719](https://github.com/scylladb/scylladb/pull/32719 "https://github.com/scylladb/scylladb/pull/32719")

### **Materialized Views (MV)**

- Running `DROP TABLE` on a tablets table with pending view building tasks left those tasks behind, which could prevent other materialized views and secondary indexes in tablets keyspaces from being built. `DROP TABLE` now removes the view building tasks and view build status entries of the dropped table, and the view building coordinator also removes tasks whose base table no longer exists. This also unblocks clusters that already have leftover tasks.  
[scylladb#32449](https://github.com/scylladb/scylladb/pull/32449 "https://github.com/scylladb/scylladb/pull/32449")

- While a materialized view or secondary index was being built, tombstone garbage collection could purge a view tombstone before the view builder wrote the row it shadows, which could make a deleted view row reappear. Tombstone GC is now suspended for a view until the view is built on every node, so view and index contents stay consistent with the base table.  
[scylladb#32121](https://github.com/scylladb/scylladb/pull/32121 "https://github.com/scylladb/scylladb/pull/32121")

### **Monitoring**

- The `scylla_scylladb_current_version` metric now includes a `host_id` label with the node’s host ID, alongside the existing `version` label. This makes it easier to correlate a node’s host ID with its instance and IP address in monitoring dashboards.  
[scylladb#32413](https://github.com/scylladb/scylladb/pull/32413 "https://github.com/scylladb/scylladb/pull/32413")

- During topology operations such as tablet repair, `barrier_and_drain` logged progress at the info level on every shard and for every closed session, which could produce enough log volume to trigger journald rate limiting. Barrier arrival and completion are now logged once per node at the info level, with per-shard and per-session details moved to the debug level, keeping logs concise and complete.  
[scylladb#32561](https://github.com/scylladb/scylladb/pull/32561 "https://github.com/scylladb/scylladb/pull/32561")

### **Networking**

- With RPC compression enabled, an internode message could, in rare cases, be decompressed incorrectly and rejected with an RPC checksum error, because the LZ4 decompression ring buffer was slightly too small. The buffer now includes the margin required by LZ4, so compressed internode messages are always decoded correctly. [scylladb#32486](https://github.com/scylladb/scylladb/pull/32486 "https://github.com/scylladb/scylladb/pull/32486")

### **Reliability**

- When the commitlog wrote a batch of mutations and switched to a new segment partway through, the schema information required by the new segment could be omitted, which could affect commitlog replay. Schema information is now tracked per segment, so every segment contains the schemas needed to replay it. [scylladb#32498](https://github.com/scylladb/scylladb/pull/32498 "https://github.com/scylladb/scylladb/pull/32498")

- On a node with a slow disk, enabling the `LARGE_DATA_VIRTUAL_TABLES` cluster feature dropped the legacy `system.large_*` tables inside a group 0 operation, which could delay group 0 long enough for a joining node’s startup to time out. The legacy tables are now dropped in the background, so group 0 stays available and nodes join as expected. [scylladb#32473](https://github.com/scylladb/scylladb/pull/32473 "https://github.com/scylladb/scylladb/pull/32473")

- On hosts with an uneven NUMA node layout, a node started with a reduced number of shards (`--smp`) could fail at startup. Such nodes now start normally. [scylladb#32457](https://github.com/scylladb/scylladb/pull/32457 "https://github.com/scylladb/scylladb/pull/32457")

### **Repair**

- Rebuilding a tablet during node replace, `removenode`, or a replication factor change always ran a full repair between the remaining replicas, which could make these operations take a long time on large nodes. The rebuild repair now compares only unrepaired data, since data already marked as repaired by incremental repair is identical on all replicas. This can significantly shorten replace and removenode operations on clusters that use incremental repair. The new behavior is enabled automatically once all nodes in the cluster are upgraded. [scylladb#32454](https://github.com/scylladb/scylladb/pull/32454 "https://github.com/scylladb/scylladb/pull/32454")

### **Storage**

- For keyspaces stored on object storage, the SSTable registry (`system.sstables`) could be read in an outdated state after an unclean node stop. This could prevent the node from starting, or cause objects of a live SSTable to be removed. Registry updates are now synced to the commitlog and replayed before keyspaces are loaded, so the registry stays consistent after an unclean stop. [scylladb#32448](https://github.com/scylladb/scylladb/pull/32448 "https://github.com/scylladb/scylladb/pull/32448")

- S3 can respond to copy and multipart-upload requests with `200 OK` and an error in the response body. The S3 client now detects these embedded errors in `CopyObject` and `UploadPartCopy` replies and handles them as regular, retryable errors. This improves the stability of memtable flushes and compactions on object storage. [scylladb#32702](https://github.com/scylladb/scylladb/pull/32702 "https://github.com/scylladb/scylladb/pull/32702")

- A node that served reads from an object storage table under a service level could restart during a graceful shutdown. Object storage connections are now closed before service level resources are released, so the node shuts down cleanly. [scylladb#32034](https://github.com/scylladb/scylladb/pull/32034 "https://github.com/scylladb/scylladb/pull/32034")

### **Tablets**

- A memtable write waiting for available memory was not taken into account when a tablet split was acknowledged, so the write could land in the pre-split group and cause the node to restart when the split was finalized. Pending writes are now tracked, and the split is acknowledged only after they complete. [scylladb#32499](https://github.com/scylladb/scylladb/pull/32499 "https://github.com/scylladb/scylladb/pull/32499")

- If a node was stopped uncleanly shortly after a table was created in a tablets keyspace, the table could be missing on that node after restart. Tablet metadata is now loaded after the group 0 log is replayed, so such tables are created correctly on restart. In addition, errors that occur while adding a table are now reported instead of being hidden. [scylladb#32316](https://github.com/scylladb/scylladb/pull/32316 "https://github.com/scylladb/scylladb/pull/32316")

- Loading an SSTable during tablet streaming could delay topology barriers for other operations, especially while the table was being split. SSTable loading no longer holds the replication map for the whole load, which keeps topology operations and scale-out moving promptly. [scylladb#32488](https://github.com/scylladb/scylladb/pull/32488 "https://github.com/scylladb/scylladb/pull/32488")

- `ALTER KEYSPACE` on a tablets keyspace could wait until the client timeout when a tablet rebuild kept being retried, because it could miss short periods when the topology was idle. The statement now waits on the locally applied topology state, so it completes reliably, and an unsuccessful replication factor change is reported immediately. [scylladb#32802](https://github.com/scylladb/scylladb/pull/32802 "https://github.com/scylladb/scylladb/pull/32802")
