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]