From a916063be5895b1b1bc7107085d54f2388a1622c Mon Sep 17 00:00:00 2001 From: Yingchun Lai Date: Wed, 29 Nov 2023 19:44:07 +0800 Subject: [PATCH] refactor(backup&restore): add more logs when backup or restore failed --- src/block_service/block_service_manager.cpp | 10 ++++---- src/meta/meta_backup_service.cpp | 27 +++++++++++++++++++++ 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/src/block_service/block_service_manager.cpp b/src/block_service/block_service_manager.cpp index 07e1f8c8665..5fdac869bf9 100644 --- a/src/block_service/block_service_manager.cpp +++ b/src/block_service/block_service_manager.cpp @@ -82,7 +82,7 @@ block_filesystem *block_service_manager::get_or_create_block_filesystem(const st if (fs == nullptr) { LOG_ERROR("acquire block filesystem failed, provider = {}, provider_type = {}", provider, - std::string(provider_type)); + provider_type); return nullptr; } @@ -93,13 +93,13 @@ block_filesystem *block_service_manager::get_or_create_block_filesystem(const st utils::split_args(arguments, args); dsn::error_code err = fs->initialize(args); + const auto provider_desc = fmt::format( + "provider = {}, provider_type = {}, args = {}", provider, provider_type, arguments); if (dsn::ERR_OK == err) { - LOG_INFO("create block filesystem ok for provider {}", provider); + LOG_INFO("create block filesystem ok for {}", provider_desc); _fs_map.emplace(provider, std::unique_ptr(fs)); } else { - LOG_ERROR("create block file system err {} for provider {}", - std::string(err.to_string()), - provider); + LOG_ERROR("create block filesystem failed for {}, error = {}", provider_desc); delete fs; fs = nullptr; } diff --git a/src/meta/meta_backup_service.cpp b/src/meta/meta_backup_service.cpp index 8a28ffaf35b..451002f603b 100644 --- a/src/meta/meta_backup_service.cpp +++ b/src/meta/meta_backup_service.cpp @@ -48,6 +48,7 @@ #include "utils/autoref_ptr.h" #include "utils/blob.h" #include "utils/chrono_literals.h" +#include "utils/defer.h" #include "utils/flags.h" #include "utils/fmt_logging.h" #include "utils/time_utils.h" @@ -1245,6 +1246,11 @@ void backup_service::add_backup_policy(dsn::message_ex *msg) { configuration_add_backup_policy_request request; configuration_add_backup_policy_response response; + auto log_on_failed = dsn::defer([&response]() { + if (!response.hint_message.empty()) { + LOG_WARNING(response.hint_message); + } + }); dsn::message_ex *copied_msg = message_ex::copy_message_no_reply(*msg); ::dsn::unmarshall(msg, request); @@ -1421,6 +1427,11 @@ void backup_service::query_backup_policy(query_backup_policy_rpc rpc) { const configuration_query_backup_policy_request &request = rpc.request(); configuration_query_backup_policy_response &response = rpc.response(); + auto log_on_failed = dsn::defer([&response]() { + if (!response.hint_msg.empty()) { + LOG_WARNING(response.hint_msg); + } + }); response.err = ERR_OK; @@ -1492,6 +1503,12 @@ void backup_service::modify_backup_policy(configuration_modify_backup_policy_rpc configuration_modify_backup_policy_response &response = rpc.response(); response.err = ERR_OK; + auto log_on_failed = dsn::defer([&response]() { + if (!response.hint_message.empty()) { + LOG_WARNING(response.hint_message); + } + }); + std::shared_ptr context_ptr; { zauto_lock _(_lock); @@ -1647,6 +1664,11 @@ void backup_service::start_backup_app(start_backup_app_rpc rpc) { const start_backup_app_request &request = rpc.request(); start_backup_app_response &response = rpc.response(); + auto log_on_failed = dsn::defer([&response]() { + if (!response.hint_message.empty()) { + LOG_WARNING(response.hint_message); + } + }); int32_t app_id = request.app_id; std::shared_ptr engine = std::make_shared(this); @@ -1712,6 +1734,11 @@ void backup_service::query_backup_status(query_backup_status_rpc rpc) { const query_backup_status_request &request = rpc.request(); query_backup_status_response &response = rpc.response(); + auto log_on_failed = dsn::defer([&response]() { + if (!response.hint_message.empty()) { + LOG_WARNING(response.hint_message); + } + }); int32_t app_id = request.app_id; {