This is an automated email from the ASF dual-hosted git repository.

laiyingchun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pegasus.git


The following commit(s) were added to refs/heads/master by this push:
     new 3ffe54275 refactor(backup&restore): add more logs when backup or 
restore failed (#1702)
3ffe54275 is described below

commit 3ffe54275a3a2af2e9a416383a1c991f804e69ae
Author: Yingchun Lai <[email protected]>
AuthorDate: Mon Dec 4 14:10:24 2023 +0800

    refactor(backup&restore): add more logs when backup or restore failed 
(#1702)
    
    Add more logs when backup or restore failed, it's useful for debuging and 
troubleshooting.
---
 src/block_service/block_service_manager.cpp | 11 ++++++-----
 src/meta/meta_backup_service.cpp            | 27 +++++++++++++++++++++++++++
 2 files changed, 33 insertions(+), 5 deletions(-)

diff --git a/src/block_service/block_service_manager.cpp 
b/src/block_service/block_service_manager.cpp
index a6c48509d..b771a432b 100644
--- a/src/block_service/block_service_manager.cpp
+++ b/src/block_service/block_service_manager.cpp
@@ -24,6 +24,7 @@
 #include "block_service/block_service.h"
 #include "block_service/hdfs/hdfs_service.h"
 #include "block_service/local/local_service.h"
+#include "fmt/core.h"
 #include "runtime/task/task_code.h"
 #include "runtime/task/task_tracker.h"
 #include "utils/config_api.h"
@@ -77,7 +78,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;
     }
 
@@ -88,13 +89,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<block_filesystem>(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, err);
         delete fs;
         fs = nullptr;
     }
diff --git a/src/meta/meta_backup_service.cpp b/src/meta/meta_backup_service.cpp
index 8a28ffaf3..451002f60 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<policy_context> 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<backup_engine> engine = 
std::make_shared<backup_engine>(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;
     {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to