S

ScyllaDB

S
ScyllaDB Database v2026.3.0-rc1

scylla-2026.3.0-rc1-candidate-20260730021004: streaming: add missing version tag to sstable_meta

Commit 9b4c37d ("streaming: pass sstable metadata in stream_blob_meta and clone_sstable_request") appended a new optional member, sstable_meta, to the stream_blob_meta IDL class, which is the argument of the STREAM_BLOB (verb 71) RPC used by file-stream based tablet migration. The member was added without a [[version]] attribute. stream_blob_meta is a non-final (size-framed) IDL class. During dese…

S
ScyllaDB Database v2026.2.3-candidate

scylla-2026.2.3-candidate-20260729021303: view_update_generator: fix drain and destruction order

In b632316 we fixed an issue in the view_update_generator shutdown procedure where _progress_tracker could be accessed by external callers in process_staging_sstables after it's been destroyed. The admission of external calls and the access to _progress_tracker is now protected by the gate in view_update_generator, which is closed in drain(). This would have fixed the issue under the assumption th…

S
ScyllaDB Database v2026.1.10-candidate

scylla-2026.1.10-candidate-20260729021309: vector_search: fix handling of HTTP 503 on ann requests

When the index is being built, the ann request returns HTTP 503. So far we treated this as a regular response and forward this back to the client. However the index may return 503 in two different scenarios: The node is SERVING but the index is still being built after creation. The node is BOOTSTRAPPING and not yet ready to serve requests. In the first case treating 503 as a regular response is co…

S
ScyllaDB Database v2026.2.2

scylla-2026.2.2

Merge '[Backport 2026.2] test: proc_utils: diagnostics for start_dock…

S
ScyllaDB Database v2026.1.9

scylla-2026.1.9

Merge '[Backport 2026.1] sstables/mx/writer: discard compression dict…

S
ScyllaDB Database v2026.2.1

scylla-2026.2.1: mv/row_locker: increase load factor to avoid oversized allocations

In the row_locker structure, held by each table, we have an unordered_map of locks for each locked partition. We've seen in tests that the number of concurrently locked partitions may exceed 16K, which results in rehashing of the map and performing an oversized allocation. In this patch we avoid this by increasing the max_load_factor of the map with locks. This should effectively decrease the numb…

S
ScyllaDB Database v2026.2.1-candidate

scylla-2026.2.1-candidate-20260706092708: mv/row_locker: increase load factor to avoid oversized allocations

In the row_locker structure, held by each table, we have an unordered_map of locks for each locked partition. We've seen in tests that the number of concurrently locked partitions may exceed 16K, which results in rehashing of the map and performing an oversized allocation. In this patch we avoid this by increasing the max_load_factor of the map with locks. This should effectively decrease the numb…

S
ScyllaDB Database v2026.2.1-candidate

scylla-2026.2.1-candidate-20260706071737: packaging: fix missing systemctl in container image

The container image build extracted only the systemctl binary from the systemd RPM via rpm2cpio, but this binary depends on libsystemd-shared-252.so which is not present in the image. This causes perftune.py to fail with 'No such file or directory' when trying to restart irqbalance via systemctl on EKS nodes. Replace the rpm2cpio extraction with a proper microdnf install of the systemd package, wh…

S
ScyllaDB Database v2026.1.8

scylla-2026.1.8

Merge '[Backport 2026.1] messaging: invalidate cached RPC connections…

S
ScyllaDB Database v2026.2.0-candidate

scylla-2026.2.0-candidate-20260618021059: storage_service: fix use-after-free in merge_topology_snapshot

A coroutine lambda returning future<> was passed to for_each_split_mutation() which accepts std::function<void(mutation)>. The future was silently discarded, causing the coroutine's post-co_await code to run asynchronously after frozen_muts_to_apply was already gone. Revert to the pre-regression approach: collect split mutations into a vector with split_mutation(), then freeze them one by one with…

S
ScyllaDB Database v2026.2.0

scylla-2026.2.0: storage_service: fix use-after-free in merge_topology_snapshot

A coroutine lambda returning future<> was passed to for_each_split_mutation() which accepts std::function<void(mutation)>. The future was silently discarded, causing the coroutine's post-co_await code to run asynchronously after frozen_muts_to_apply was already gone. Revert to the pre-regression approach: collect split mutations into a vector with split_mutation(), then freeze them one by one with…

S
ScyllaDB Database v2026.1.6-candidate

scylla-2026.1.6-candidate-20260618021059: storage_service: fix use-after-free in merge_topology_snapshot

A coroutine lambda returning future<> was passed to for_each_split_mutation() which accepts std::function<void(mutation)>. The future was silently discarded, causing the coroutine's post-co_await code to run asynchronously after frozen_muts_to_apply was already gone. Revert to the pre-regression approach: collect split mutations into a vector with split_mutation(), then freeze them one by one with…

S
ScyllaDB Database v2026.1.6

scylla-2026.1.6: storage_service: fix use-after-free in merge_topology_snapshot

A coroutine lambda returning future<> was passed to for_each_split_mutation() which accepts std::function<void(mutation)>. The future was silently discarded, causing the coroutine's post-co_await code to run asynchronously after frozen_muts_to_apply was already gone. Revert to the pre-regression approach: collect split mutations into a vector with split_mutation(), then freeze them one by one with…

S
ScyllaDB Database v2025.1.14-candidate

scylla-2025.1.14-candidate-20260614022729: ci: scylla-ci-route: run only scylla_gdb suite for gdb-only PRs

The gdb detection used "any file matches" semantics and set RUN_ONLY_SCYLLA_GDB whenever a PR merely touched scylla-gdb.py or test/scylla_gdb/, even alongside other source changes. It also still passed dtest/unittest/artifacts as required, so the downstream job ran the full matrix instead of only the scylla_gdb suite. Set RUN_ONLY_SCYLLA_GDB only when EVERY changed file is gdb-related, and suppres…

S
ScyllaDB Database v2025.1.14

scylla-2025.1.14: ci: scylla-ci-route: run only scylla_gdb suite for gdb-only PRs

The gdb detection used "any file matches" semantics and set RUN_ONLY_SCYLLA_GDB whenever a PR merely touched scylla-gdb.py or test/scylla_gdb/, even alongside other source changes. It also still passed dtest/unittest/artifacts as required, so the downstream job ran the full matrix instead of only the scylla_gdb suite. Set RUN_ONLY_SCYLLA_GDB only when EVERY changed file is gdb-related, and suppres…