From 59acbf6d15a4c20066da92c574f93cbb4c54b8a5 Mon Sep 17 00:00:00 2001 From: levlam Date: Wed, 5 Oct 2022 16:32:16 +0300 Subject: [PATCH] Add warnings about big file nodes. --- td/telegram/files/FileManager.cpp | 5 +++++ td/telegram/files/FileManager.h | 2 ++ 2 files changed, 7 insertions(+) diff --git a/td/telegram/files/FileManager.cpp b/td/telegram/files/FileManager.cpp index edb8dabb5..36ca89864 100644 --- a/td/telegram/files/FileManager.cpp +++ b/td/telegram/files/FileManager.cpp @@ -1702,6 +1702,11 @@ Result FileManager::merge(FileId x_file_id, FileId y_file_id, bool no_sy node->on_info_changed(); } + if (node->file_ids_.size() > (1u << file_node_size_warning_exp_)) { + LOG(WARNING) << "File of type " << file_view.get_type() << " has " << node->file_ids_.size() << " file identifiers"; + file_node_size_warning_exp_++; + } + // Check if some download/upload queries are ready for (auto file_id : vector(node->file_ids_)) { auto *info = get_file_id_info(file_id); diff --git a/td/telegram/files/FileManager.h b/td/telegram/files/FileManager.h index ac53d8f0f..1572b609c 100644 --- a/td/telegram/files/FileManager.h +++ b/td/telegram/files/FileManager.h @@ -602,6 +602,8 @@ class FileManager final : public FileLoadManager::Callback { std::set bad_paths_; + int file_node_size_warning_exp_ = 12; + FileId next_file_id(); FileNodeId next_file_node_id(); int32 next_pmc_file_id();