This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-4.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-4.1 by this push:
new 4d2eeda3797 branch-4.1: [fix](recycler) Recycler/Ms http api result
msg should set ok #63051 (#63275)
4d2eeda3797 is described below
commit 4d2eeda3797b95099930fe9168a1f300396e4e75
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Wed May 20 16:02:21 2026 +0800
branch-4.1: [fix](recycler) Recycler/Ms http api result msg should set ok
#63051 (#63275)
Cherry-picked from #63051
Co-authored-by: Yixuan Wang <[email protected]>
---
cloud/src/common/http_helper.cpp | 8 ++++----
cloud/src/meta-service/meta_service_http.cpp | 10 +++++++---
cloud/src/meta-service/meta_service_http.h | 6 ++++--
cloud/test/meta_service_http_test.cpp | 6 +++---
4 files changed, 18 insertions(+), 12 deletions(-)
diff --git a/cloud/src/common/http_helper.cpp b/cloud/src/common/http_helper.cpp
index 1d21cccde15..5ddd711dda6 100644
--- a/cloud/src/common/http_helper.cpp
+++ b/cloud/src/common/http_helper.cpp
@@ -710,7 +710,7 @@ HttpResponse
process_statistics_recycle(RecyclerServiceImpl* service, brpc::Cont
"failed to parse StatisticsRecycleRequest");
}
MetaServiceCode code = MetaServiceCode::OK;
- std::string msg;
+ std::string msg = "OK";
service->statistics_recycle(req, code, msg);
return http_text_reply(code, msg, msg);
}
@@ -721,7 +721,7 @@ HttpResponse process_recycle_copy_jobs(RecyclerServiceImpl*
service, brpc::Contr
return http_json_reply(MetaServiceCode::INVALID_ARGUMENT, "no instance
id");
}
MetaServiceCode code = MetaServiceCode::OK;
- std::string msg;
+ std::string msg = "OK";
recycle_copy_jobs(service->txn_kv(), *instance_id, code, msg,
service->recycler()->thread_pool_group(),
service->txn_lazy_committer());
return http_text_reply(code, msg, msg);
@@ -748,7 +748,7 @@ HttpResponse process_check_instance(RecyclerServiceImpl*
service, brpc::Controll
return http_json_reply(MetaServiceCode::INVALID_ARGUMENT, "checker not
enabled");
}
MetaServiceCode code = MetaServiceCode::OK;
- std::string msg;
+ std::string msg = "OK";
service->check_instance(*instance_id, code, msg);
return http_text_reply(code, msg, msg);
}
@@ -776,7 +776,7 @@ HttpResponse process_check_meta(RecyclerServiceImpl*
service, brpc::Controller*
!password || !user || user->empty()) {
return http_json_reply(MetaServiceCode::INVALID_ARGUMENT, "missing
required parameters");
}
- std::string msg;
+ std::string msg = "OK";
check_meta(service->txn_kv(), *instance_id, *host, *port, *user,
*password, msg);
return http_text_reply(MetaServiceCode::OK, msg, msg);
}
diff --git a/cloud/src/meta-service/meta_service_http.cpp
b/cloud/src/meta-service/meta_service_http.cpp
index 44dfde3a195..8db770c5b17 100644
--- a/cloud/src/meta-service/meta_service_http.cpp
+++ b/cloud/src/meta-service/meta_service_http.cpp
@@ -106,15 +106,19 @@ std::tuple<int, std::string_view>
convert_ms_code_to_http_code(MetaServiceCode r
HttpResponse http_json_reply(MetaServiceCode code, const std::string& msg,
std::optional<std::string> body) {
auto [status_code, status_msg] = convert_ms_code_to_http_code(code);
+ std::string_view response_msg =
+ code == MetaServiceCode::OK && msg.empty() ? status_msg :
std::string_view(msg);
rapidjson::Document d;
d.SetObject();
if (code == MetaServiceCode::OK) {
d.AddMember("code", "OK", d.GetAllocator());
- d.AddMember("msg", rapidjson::StringRef(msg.data(), msg.size()),
d.GetAllocator());
+ d.AddMember("msg", rapidjson::StringRef(response_msg.data(),
response_msg.size()),
+ d.GetAllocator());
} else {
d.AddMember("code", rapidjson::StringRef(status_msg.data(),
status_msg.size()),
d.GetAllocator());
- d.AddMember("msg", rapidjson::StringRef(msg.data(), msg.size()),
d.GetAllocator());
+ d.AddMember("msg", rapidjson::StringRef(response_msg.data(),
response_msg.size()),
+ d.GetAllocator());
}
rapidjson::Document result;
@@ -134,7 +138,7 @@ HttpResponse http_json_reply(MetaServiceCode code, const
std::string& msg,
rapidjson::StringBuffer sb;
rapidjson::PrettyWriter<rapidjson::StringBuffer> writer(sb);
d.Accept(writer);
- return {status_code, msg, sb.GetString()};
+ return {.status_code = status_code, .msg = std::string(response_msg),
.body = sb.GetString()};
}
static std::string format_http_request(brpc::Controller* cntl) {
diff --git a/cloud/src/meta-service/meta_service_http.h
b/cloud/src/meta-service/meta_service_http.h
index 8e0c9df6cc1..3c989483923 100644
--- a/cloud/src/meta-service/meta_service_http.h
+++ b/cloud/src/meta-service/meta_service_http.h
@@ -70,8 +70,10 @@ inline static HttpResponse http_json_reply_message(const
MetaServiceResponseStat
inline static HttpResponse http_text_reply(MetaServiceCode code, const
std::string& msg,
const std::string& body) {
- auto [status_code, _] = convert_ms_code_to_http_code(code);
- return {status_code, msg, body};
+ auto [status_code, status_msg] = convert_ms_code_to_http_code(code);
+ std::string response_msg =
+ code == MetaServiceCode::OK && msg.empty() ?
std::string(status_msg) : msg;
+ return {.status_code = status_code, .msg = std::move(response_msg), .body
= body};
}
inline static HttpResponse http_text_reply(const MetaServiceResponseStatus&
status,
diff --git a/cloud/test/meta_service_http_test.cpp
b/cloud/test/meta_service_http_test.cpp
index 37cf0ddd421..7452fed53ec 100644
--- a/cloud/test/meta_service_http_test.cpp
+++ b/cloud/test/meta_service_http_test.cpp
@@ -867,7 +867,7 @@ TEST(MetaServiceHttpTest, AlterClusterTest) {
auto [status_code, resp] =
ctx.forward<MetaServiceResponseStatus>("add_cluster", req);
ASSERT_EQ(status_code, 200);
ASSERT_EQ(resp.code(), MetaServiceCode::OK);
- ASSERT_EQ(resp.msg(), "");
+ ASSERT_EQ(resp.msg(), "OK");
}
// case: request has invalid argument
@@ -2848,7 +2848,7 @@ TEST(MetaServiceHttpTest, VirtualClusterTest) {
node->set_edit_log_port(9990);
node->set_node_type(NodeInfoPB::FE_MASTER);
ret = ctx.forward<MetaServiceResponseStatus>("add_cluster",
req_before_fe);
- ASSERT_EQ(std::get<1>(ret).msg(), "");
+ ASSERT_EQ(std::get<1>(ret).msg(), "OK");
ASSERT_EQ(std::get<0>(ret), 200);
ASSERT_EQ(std::get<1>(ret).code(), MetaServiceCode::OK);
@@ -2859,7 +2859,7 @@ TEST(MetaServiceHttpTest, VirtualClusterTest) {
policy.add_standby_cluster_names(mock_exist_cluster_name1);
ret = add_cluster(ctx, mock_vcg_name1, mock_vcg_id1,
ClusterPB::VIRTUAL,
{mock_exist_cluster_name1,
mock_exist_cluster_name2}, &policy);
- ASSERT_EQ(std::get<1>(ret).msg(), "");
+ ASSERT_EQ(std::get<1>(ret).msg(), "OK");
ASSERT_EQ(std::get<0>(ret), 200);
ASSERT_EQ(std::get<1>(ret).code(), MetaServiceCode::OK);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]