diff --git a/ydb/core/mind/hive/hive_impl.cpp b/ydb/core/mind/hive/hive_impl.cpp index aa6d85d6c2ad..b4d08484fc7c 100644 --- a/ydb/core/mind/hive/hive_impl.cpp +++ b/ydb/core/mind/hive/hive_impl.cpp @@ -481,11 +481,20 @@ void THive::Handle(TEvPrivate::TEvBootTablets::TPtr&) { SignalTabletActive(DEPRECATED_CTX); ReadyForConnections = true; RequestPoolsInformation(); + std::vector unimportantNodes; // ping nodes with tablets first + unimportantNodes.reserve(Nodes.size()); for (auto& [id, node] : Nodes) { if (node.IsUnknown() && node.Local) { - node.Ping(); + if (node.GetTabletsTotal() > 0) { + node.Ping(); + } else { + unimportantNodes.push_back(&node); + } } } + for (auto* node : unimportantNodes) { + node->Ping(); + } TVector tabletsToReleaseFromParent; TSideEffects sideEffects; sideEffects.Reset(SelfId());