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]