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

wangdan 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 cb9a69740 refactor(FQDN): Update src/nfs/nfs.thrift related code 
(#1991)
cb9a69740 is described below

commit cb9a69740b05eeb97b4298720672c10241fe5b31
Author: Yingchun Lai <[email protected]>
AuthorDate: Mon Apr 29 11:38:05 2024 +0800

    refactor(FQDN): Update src/nfs/nfs.thrift related code (#1991)
---
 src/nfs/nfs_client_impl.cpp | 59 ++++++++++++++++++++-------------------------
 1 file changed, 26 insertions(+), 33 deletions(-)

diff --git a/src/nfs/nfs_client_impl.cpp b/src/nfs/nfs_client_impl.cpp
index 7712583b2..e736b2749 100644
--- a/src/nfs/nfs_client_impl.cpp
+++ b/src/nfs/nfs_client_impl.cpp
@@ -33,7 +33,8 @@
 #include "fmt/core.h"
 #include "nfs/nfs_code_definition.h"
 #include "nfs/nfs_node.h"
-#include "runtime/rpc/dns_resolver.h"
+#include "runtime/rpc/dns_resolver.h" // IWYU pragma: keep
+#include "runtime/rpc/rpc_host_port.h"
 #include "utils/blob.h"
 #include "utils/command_manager.h"
 #include "utils/filesystem.h"
@@ -137,7 +138,7 @@ void 
nfs_client_impl::begin_remote_copy(std::shared_ptr<remote_copy_request> &rc
 {
     user_request_ptr req(new user_request());
     req->high_priority = rci->high_priority;
-    req->file_size_req.source = 
dsn::dns_resolver::instance().resolve_address(rci->source);
+    SET_IP_AND_HOST_PORT_BY_DNS(req->file_size_req, source, rci->source);
     req->file_size_req.dst_dir = rci->dest_dir;
     req->file_size_req.file_list = rci->files;
     req->file_size_req.source_dir = rci->source_dir;
@@ -145,17 +146,15 @@ void 
nfs_client_impl::begin_remote_copy(std::shared_ptr<remote_copy_request> &rc
     req->file_size_req.__set_source_disk_tag(rci->source_disk_tag);
     req->file_size_req.__set_dest_disk_tag(rci->dest_disk_tag);
     req->file_size_req.__set_pid(rci->pid);
-    req->file_size_req.__set_hp_source(rci->source);
     req->nfs_task = nfs_task;
     req->is_finished = false;
 
-    async_nfs_get_file_size(
-        req->file_size_req,
-        [=](error_code err, get_file_size_response &&resp) {
-            end_get_file_size(err, std::move(resp), req);
-        },
-        std::chrono::milliseconds(FLAGS_rpc_timeout_ms),
-        
dsn::dns_resolver::instance().resolve_address(req->file_size_req.hp_source));
+    async_nfs_get_file_size(req->file_size_req,
+                            [=](error_code err, get_file_size_response &&resp) 
{
+                                end_get_file_size(err, std::move(resp), req);
+                            },
+                            std::chrono::milliseconds(FLAGS_rpc_timeout_ms),
+                            req->file_size_req.source);
 }
 
 void nfs_client_impl::end_get_file_size(::dsn::error_code err,
@@ -163,9 +162,8 @@ void nfs_client_impl::end_get_file_size(::dsn::error_code 
err,
                                         const user_request_ptr &ureq)
 {
     if (err != ::dsn::ERR_OK) {
-        LOG_ERROR("[nfs_service] remote get file size failed, source = {}({}), 
dir = {}, err = {}",
-                  ureq->file_size_req.hp_source,
-                  ureq->file_size_req.source,
+        LOG_ERROR("[nfs_service] remote get file size failed, source = {}, dir 
= {}, err = {}",
+                  FMT_HOST_PORT_AND_IP(ureq->file_size_req, source),
                   ureq->file_size_req.source_dir,
                   err);
         ureq->nfs_task->enqueue(err, 0);
@@ -174,9 +172,8 @@ void nfs_client_impl::end_get_file_size(::dsn::error_code 
err,
 
     err = dsn::error_code(resp.error);
     if (err != ::dsn::ERR_OK) {
-        LOG_ERROR("[nfs_service] remote get file size failed, source = {}({}), 
dir = {}, err = {}",
-                  ureq->file_size_req.hp_source,
-                  ureq->file_size_req.source,
+        LOG_ERROR("[nfs_service] remote get file size failed, source = {}, dir 
= {}, err = {}",
+                  FMT_HOST_PORT_AND_IP(ureq->file_size_req, source),
                   ureq->file_size_req.source_dir,
                   err);
         ureq->nfs_task->enqueue(err, 0);
@@ -296,7 +293,7 @@ void nfs_client_impl::continue_copy()
                 }
 
                 copy_request copy_req;
-                copy_req.source = ureq->file_size_req.source;
+                SET_OBJ_IP_AND_HOST_PORT(copy_req, source, 
ureq->file_size_req, source);
                 copy_req.file_name = req->file_ctx->file_name;
                 copy_req.offset = req->offset;
                 copy_req.size = req->size;
@@ -306,7 +303,6 @@ void nfs_client_impl::continue_copy()
                 copy_req.is_last = req->is_last;
                 
copy_req.__set_source_disk_tag(ureq->file_size_req.source_disk_tag);
                 copy_req.__set_pid(ureq->file_size_req.pid);
-                copy_req.__set_hp_source(ureq->file_size_req.hp_source);
                 req->remote_copy_task =
                     async_nfs_copy(copy_req,
                                    [=](error_code err, copy_response &&resp) {
@@ -320,8 +316,7 @@ void nfs_client_impl::continue_copy()
                                        }
                                    },
                                    
std::chrono::milliseconds(FLAGS_rpc_timeout_ms),
-                                   
dsn::dns_resolver::instance().resolve_address(
-                                       
req->file_ctx->user_req->file_size_req.hp_source));
+                                   
req->file_ctx->user_req->file_size_req.source);
             } else {
                 --ureq->concurrent_copy_count;
                 --_concurrent_copy_request_count;
@@ -354,17 +349,16 @@ void nfs_client_impl::end_copy(::dsn::error_code err,
         METRIC_VAR_INCREMENT(nfs_client_copy_failed_requests);
 
         if (!fc->user_req->is_finished) {
-            const auto &hp = fc->user_req->file_size_req.hp_source;
+            host_port hp;
+            GET_HOST_PORT(fc->user_req->file_size_req, source, hp);
             if (reqc->retry_count > 0) {
-                LOG_WARNING(
-                    "[nfs_service] remote copy failed, source = {}({}), dir = 
{}, file = {}, "
-                    "err = {}, retry_count = {}",
-                    hp,
-                    fc->user_req->file_size_req.source,
-                    fc->user_req->file_size_req.source_dir,
-                    fc->file_name,
-                    err,
-                    reqc->retry_count);
+                LOG_WARNING("[nfs_service] remote copy failed, source = {}, 
dir = {}, file = {}, "
+                            "err = {}, retry_count = {}",
+                            FMT_HOST_PORT_AND_IP(fc->user_req->file_size_req, 
source),
+                            fc->user_req->file_size_req.source_dir,
+                            fc->file_name,
+                            err,
+                            reqc->retry_count);
 
                 // retry copy
                 reqc->retry_count--;
@@ -376,10 +370,9 @@ void nfs_client_impl::end_copy(::dsn::error_code err,
                 else
                     _copy_requests_low.push_retry(reqc);
             } else {
-                LOG_ERROR("[nfs_service] remote copy failed, source = {}({}), 
dir = {}, file = {}, "
+                LOG_ERROR("[nfs_service] remote copy failed, source = {}, dir 
= {}, file = {}, "
                           "err = {}, retry_count = {}",
-                          hp,
-                          fc->user_req->file_size_req.source,
+                          FMT_HOST_PORT_AND_IP(fc->user_req->file_size_req, 
source),
                           fc->user_req->file_size_req.source_dir,
                           fc->file_name,
                           err,


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

Reply via email to