From 386059258ab856d502ad72b917237c67887cddb5 Mon Sep 17 00:00:00 2001 From: Andrey Zvonov <32552679+zvonand@users.noreply.github.com> Date: Fri, 26 Dec 2025 23:36:25 +0100 Subject: [PATCH] Merge pull request #1255 from Altinity/backports/25.8.13/90243 25.8.13 Stable backport of #90243: Fix crash in StorageDistributed when parsing malformed shard directory names --- src/Storages/StorageDistributed.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Storages/StorageDistributed.cpp b/src/Storages/StorageDistributed.cpp index f5b86d8f783f..761c152cb6da 100644 --- a/src/Storages/StorageDistributed.cpp +++ b/src/Storages/StorageDistributed.cpp @@ -1690,9 +1690,11 @@ Cluster::Addresses StorageDistributed::parseAddresses(const std::string & name) continue; } - if (address.replica_index > replicas) + if (address.replica_index == 0 || address.replica_index > replicas) { - LOG_ERROR(log, "No shard with replica_index={} ({})", address.replica_index, name); + LOG_ERROR(log, "Invalid replica_index={} for directory '{}' (cluster has {} replicas for shard {}). " + "Expected directory format: 'shardN_replicaM' or 'shardN_all_replicas'", + address.replica_index, dirname, replicas, address.shard_index); continue; }