# \[RELEASE\] ScyllaDB 2025.2.4

**URL:** <https://forum.scylladb.com/t/release-scylladb-2025-2-4/5230>\
**Category:** Release Notes\
**Tags:** enterprise, enterprise-release, scylladb-2025-2\
**Created:** [December 29, 2025, 4:23pm UTC](https://forum.scylladb.com/t/release-scylladb-2025-2-4/5230 "2025-12-29T16:23:15Z")\
**Posts on this page:** 2\
**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:** [December 29, 2025, 4:23pm UTC](https://forum.scylladb.com/t/release-scylladb-2025-2-4/5230/1 "2025-12-29T16:23:15Z")

</div>

The ScyllaDB team announces **ScyllaDB 2025.2.4** , a bug-fix production-ready patch release for [ScyllaDB 2025.2 Feature Release](https://forum.scylladb.com/t/release-scylladb-2025-2-0/4943).

Note that there is a new Short-Term Support (STS) Feature Release [2025.4](https://forum.scylladb.com/t/release-scylladb-2025-4-0/5222). You are welcome to upgrade to it for the latest and greatest features.

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

## Related Links

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

- [Upgrade from 2025.2.x to 2025.2.4 (patch upgrade)](https://docs.scylladb.com/manual/branch-2025.2/upgrade/upgrade-guides/upgrade-guide-from-2025.2.x.y-to-2025.2.x.z.html)

- [Upgrade from ScyllaDB 2025.1 to ScyllaDB 2025.2](https://docs.scylladb.com/manual/branch-2025.2/upgrade/upgrade-guides/upgrade-guide-from-2025.1-to-2025.2/index.html)

- [Upgrade from ScyllaDB 2025.2 to ScyllaDB 2025.4](https://docs.scylladb.com/manual/branch-2025.4/upgrade/upgrade-guides/upgrade-guide-from-2025.x-to-2025.4/index.html)

- [Submit a ticket](https://supportscylladb.zendesk.com/hc/en-us/requests/new)

## **Bug Fixes**

The following issues are fixed in this release.

### **Alternator**

- **Fix bug in UpdateItem with AttributeUpdates and ReturnValues**  
Alternator could return incorrect results when processing UpdateItem requests combining AttributeUpdates and ReturnValues.  
The update logic was corrected to ensure the expected values are returned.  
[scylladb#25894](https://github.com/scylladb/scylladb/issues/25894),[scylladb#26095](https://github.com/scylladb/scylladb/pull/26095)

- **Fix expression parsing memory leak**  
A memory leak was identified in Alternator’s expression parsing logic.  
The ANTLR parser was fixed to properly release resources, eliminating the leak.  
[scylladb#25878](https://github.com/scylladb/scylladb/issues/25878),[scylladb#26084](https://github.com/scylladb/scylladb/pull/26084)

### **CQL & Authentication**

- **CQL connections remain in the main scheduling group when authentication is disabled**  
CQL connections were accepted into the main scheduling group and never migrated when authentication was disabled, potentially impacting performance.  
Connections now explicitly update their scheduling group even when authentication is not enabled.  
[scylladb#26040](https://github.com/scylladb/scylladb/issues/26040),[scylladb#26581](https://github.com/scylladb/scylladb/issues/26581)

- **Service levels on Raft perform local reads with timeouts from the auth tables**  
Authentication-related service levels on Raft could perform local reads with timeouts, causing instability.  
The implementation was corrected to prevent these local reads from being used in the auth table access paths.  
[scylladb#25290](https://github.com/scylladb/scylladb/issues/25290)

### **Compaction, Scrub & Streaming**

- **Add configuration options for default SSTable compression**  
Operators previously had no way to globally control default SSTable compression settings.  
New configuration options allow defining default SSTable compression behavior.  
[scylladb#25195](https://github.com/scylladb/scylladb/issues/25195)

- **PRUNE MATERIALIZED VIEW may miss previously undetected ghost rows**  
The PRUNE MATERIALIZED VIEW statement could leave behind ghost rows under certain conditions.  
The fix ensures all previously undetected ghost rows are removed during pruning.  
[scylladb#25655](https://github.com/scylladb/scylladb/issues/25655),[scylladb#25955](https://github.com/scylladb/scylladb/pull/25955)

- **Compaction manager reports active tasks after stop**  
A race condition could cause the compaction manager to report remaining tasks after shutdown.  
All compaction executors are now fully stopped before completing the stop operation.  
[scylladb#25806](https://github.com/scylladb/scylladb/issues/25806),[scylladb#26223](https://github.com/scylladb/scylladb/pull/26223)

- **Scrub runs concurrently with compactions**  
Scrub could run concurrently with compactions, leading to invalid SSTables being mishandled.  
SSTables are now registered for compaction before validation, and exceptions during quarantine are handled safely.  
[scylladb#23363](https://github.com/scylladb/scylladb/issues/23363),[scylladb#26098](https://github.com/scylladb/scylladb/pull/26098)

- **Compressor validation of sstable\_compression parameters**  
Missing validation for sstable\_compression parameters could lead to misconfiguration.  
Validation was added, and exception messages were corrected.  
scylladb#26300

- **Node coredump during tablet cleanup with ongoing compactions**  
Nodes could crash during tablet cleanup if compactions were still running.  
Tablet cleanup logic was fixed to correctly coordinate with active compactions.  
[scylladb#26229](https://github.com/scylladb/scylladb/issues/26229)

### **Performance**

- **Raft log bypasses cache**  
The Raft log was unnecessarily routed through the cache layer.  
Caching for the Raft log is now disabled, improving performance and predictability.  
[scylladb#26027](https://github.com/scylladb/scylladb/issues/26027),[scylladb#26072](https://github.com/scylladb/scylladb/pull/26072)

- **Tablet scheduler plan-making impacts user workload**  
The tablet scheduler plan-maker could interfere with user workloads.  
Plan generation now runs in the maintenance scheduling group to isolate user traffic.  
[scylladb#26037](https://github.com/scylladb/scylladb/issues/26037),[scylladb#26167](https://github.com/scylladb/scylladb/pull/26167)

- **Handle an unbounded number of tasks entering the system**  
The system did not properly handle an unbounded influx of tasks.  
Task admission logic was improved to prevent overload scenarios.  
[scylladb#2](https://github.com/scylladb/scylladb/issues/2)

- **Updated PGO profiles for aarch64 and x86\_64**  
Profile-Guided Optimization (PGO) profiles were refreshed for both architectures.  
This improves overall runtime performance on supported platforms.

### **Raft Topology & Recovery**

- **Schema pulls re-enabled during Raft-based recovery**  
Schema pulls were disabled during parts of Raft recovery and not consistently re-enabled.  
Recovery logic now correctly re-enables schema pulls at the appropriate stage.  
[scylladb#26569](https://github.com/scylladb/scylladb/issues/26569)

- **Voter handler considers stale group 0 members during recovery**  
The Raft voter handler incorrectly included old group 0 members during recovery.  
The logic was fixed to accurately reflect current group membership.  
[scylladb#26321](https://github.com/scylladb/scylladb/issues/26321)

- **Raft recovery tests intermittently fail due to connection issues**  
Multiple Raft recovery tests failed intermittently with NoHostAvailable or assertion errors.  
Driver reconnection logic was deflaked to improve test reliability.  
[scylladb#26534](https://github.com/scylladb/scylladb/issues/26534),[scylladb#26005](https://github.com/scylladb/scylladb/issues/26005),[scylladb#26197](https://github.com/scylladb/scylladb/pull/26197)

### **Reliability & Stability**

- **Hints can be lost during topology changes or tablet transitions**  
Hints destined for replicas could be lost during topology or tablet transitions.  
Hints are now correctly sent to pending replicas.  
[scylladb#19835](https://github.com/scylladb/scylladb/issues/19835),[scylladb#25881](https://github.com/scylladb/scylladb/pull/25881)

- **Batchlog replay fails for dropped tables**  
Batchlog replay could fail if a table had been dropped.  
Replay now safely drops the batch instead of failing.  
[scylladb#24806](https://github.com/scylladb/scylladb/issues/24806),[scylladb#26200](https://github.com/scylladb/scylladb/pull/26200)

- **Batchlog replay uses CL=ALL**  
Batchlog replay incorrectly used consistency level ALL, causing failures.  
The consistency level handling was corrected.  
[scylladb#25432](https://github.com/scylladb/scylladb/issues/25432)

- **Applying speculative retry prevents dropping the schema**  
Dropping schemas and tables failed after applying speculative\_retry = ‘99.99PERCENTILE’.  
Schema manipulation logic was corrected.  
[scylladb#26369](https://github.com/scylladb/scylladb/issues/26369)

- **Gossiper operations executed in the wrong scheduling group**  
Gossiper operations could execute in the streaming scheduling group.  
Operations are now consistently executed in the gossiper scheduling group, and the correct gossiper instance is used.  
[scylladb#25907](https://github.com/scylladb/scylladb/issues/25907),[scylladb#26071](https://github.com/scylladb/scylladb/pull/26071)

- **Load balancer throws std::out\_of\_bounds during decommission**  
Decommissioning a node could fail when empty nodes were present.  
The load balancer now safely handles empty-node scenarios.  
[scylladb#26203](https://github.com/scylladb/scylladb/issues/26203),[scylladb#26239](https://github.com/scylladb/scylladb/pull/26239)

- **Load-and-stream fails with tablets enabled**  
Load-and-stream operations could fail with “Unable to load SSTable” when tablets were used.  
Tablet handling during load-and-stream was fixed.  
[scylladb#22707](https://github.com/scylladb/scylladb/issues/22707)

- **Maintenance mode is broken**  
Maintenance mode was non-functional, and tests were ineffective.  
Maintenance mode functionality and tests were fixed.  
[scylladb#26816](https://github.com/scylladb/scylladb/issues/26816)

- **Node operations progress metric never reaches 100%**  
Node operations could complete while the progress metric remained below 100%.  
Progress tracking now uses host IDs, ensuring correct completion reporting.  
[scylladb#26193](https://github.com/scylladb/scylladb/issues/26193),[scylladb#26250](https://github.com/scylladb/scylladb/pull/26250)

- **Race condition between tablet split and load-and-stream**  
Concurrent tablet splitting and load-and-stream operations could race.  
Synchronization was added to ensure consistent behavior.  
[scylladb#26455](https://github.com/scylladb/scylladb/issues/26455)

- **Token group ID regression during split compaction**  
Token group IDs could regress when tablet boundaries changed.  
Split compaction logic was corrected.  
[scylladb#24153](https://github.com/scylladb/scylladb/issues/24153),[scylladb#25934](https://github.com/scylladb/scylladb/pull/25934)

### **Tools & Observability**

- **Nodetool compactionhistory crashes**  
Running nodetool compactionhistory could crash due to a JSON assertion failure.  
The underlying parsing logic was fixed.  
[scylladb#23540](https://github.com/scylladb/scylladb/issues/23540)

- **scylla-gdb displays excessive io\_queue data**  
Debug output included unnecessary io\_queue details.  
Output was simplified for clarity.  
[scylladb#24835](https://github.com/scylladb/scylladb/pull/24835)

- **scylla-gdb attempts to read non-existent \_ticket field**  
Fair-queue entries referenced a non-existent \_ticket field.  
Fair-queue printing was corrected.  
[scylladb#26184](https://github.com/scylladb/scylladb/issues/26184),[scylladb#26263](https://github.com/scylladb/scylladb/pull/26263)

- **scylla-sstable prints tokens as bytes**  
Token values in sharding\_metadata were printed as raw bytes.  
Tokens are now printed as numeric values for readability.  
[scylladb#26982](https://github.com/scylladb/scylladb/issues/26982)

---

<div class="post-metadata">

**Author:** ![Guy](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.scylladb.com/guy/32/9_2.png) [@Guy](https://forum.scylladb.com/u/Guy)\
**Post date:** [December 30, 2025, 7:03am UTC](https://forum.scylladb.com/t/release-scylladb-2025-2-4/5230/2 "2025-12-30T07:03:34Z")

</div>


