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

gavinchou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 10790e214e9 [fix](recycler) Recycler/Ms http api result msg should set 
ok (#63051)
10790e214e9 is described below

commit 10790e214e994b6e870b6aa16d2d0777d59b2313
Author: Yixuan Wang <[email protected]>
AuthorDate: Fri May 15 11:10:27 2026 +0800

    [fix](recycler) Recycler/Ms http api result msg should set ok (#63051)
    
    [fix](recycler) Recycler/Ms http api result msg should set ok
    
    Set successful Recycler/MS HTTP API messages to OK. The shared helper 
covers JSON/text success messages.
---
 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 150ee849899..8d70a3348c7 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]

Reply via email to