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 31dce70d6 refactor(FQDN): Update idl/partition_split.thrift related 
code (#1987)
31dce70d6 is described below

commit 31dce70d6c2a5aab912842d23c09189ea9d200d2
Author: Yingchun Lai <[email protected]>
AuthorDate: Fri Apr 26 19:28:29 2024 +0800

    refactor(FQDN): Update idl/partition_split.thrift related code (#1987)
---
 src/meta/test/meta_split_service_test.cpp     |  2 +-
 src/replica/split/replica_split_manager.cpp   | 39 ++++++++++++---------------
 src/replica/split/test/replica_split_test.cpp | 10 +++----
 3 files changed, 21 insertions(+), 30 deletions(-)

diff --git a/src/meta/test/meta_split_service_test.cpp 
b/src/meta/test/meta_split_service_test.cpp
index 1689038a9..f881500d4 100644
--- a/src/meta/test/meta_split_service_test.cpp
+++ b/src/meta/test/meta_split_service_test.cpp
@@ -149,7 +149,7 @@ public:
         request->app.app_id = app->app_id;
         request->parent_config = parent_config;
         request->child_config = child_config;
-        request->hp_primary = NODE;
+        SET_IP_AND_HOST_PORT_BY_DNS(*request, primary, NODE);
 
         register_child_rpc rpc(std::move(request), 
RPC_CM_REGISTER_CHILD_REPLICA);
         split_svc().register_child_on_meta(rpc);
diff --git a/src/replica/split/replica_split_manager.cpp 
b/src/replica/split/replica_split_manager.cpp
index 2fe476468..955dbea23 100644
--- a/src/replica/split/replica_split_manager.cpp
+++ b/src/replica/split/replica_split_manager.cpp
@@ -618,8 +618,7 @@ void replica_split_manager::child_notify_catch_up() // on 
child partition
     request->parent_gpid = _replica->_split_states.parent_gpid;
     request->child_gpid = get_gpid();
     request->child_ballot = get_ballot();
-    request->child = _stub->primary_address();
-    request->__set_hp_child(_stub->primary_host_port());
+    SET_IP_AND_HOST_PORT(*request, child, _stub->primary_address(), 
_stub->primary_host_port());
 
     LOG_INFO_PREFIX("send notification to primary parent[{}@{}], ballot={}",
                     _replica->_split_states.parent_gpid,
@@ -694,10 +693,9 @@ void replica_split_manager::parent_handle_child_catch_up(
     GET_HOST_PORT(request, child, hp_child);
 
     response.err = ERR_OK;
-    LOG_INFO_PREFIX("receive catch_up request from {}@{}({}), current 
ballot={}",
+    LOG_INFO_PREFIX("receive catch_up request from {}@{}, current ballot={}",
                     request.child_gpid,
-                    hp_child,
-                    request.child,
+                    FMT_HOST_PORT_AND_IP(request, child),
                     request.child_ballot);
 
     _replica->_primary_states.caught_up_children.insert(hp_child);
@@ -809,25 +807,24 @@ void 
replica_split_manager::parent_send_update_partition_count_request(
 
     CHECK_EQ_PREFIX(status(), partition_status::PS_PRIMARY);
 
-    const auto &address = dsn::dns_resolver::instance().resolve_address(hp);
     auto request = 
std::make_unique<update_child_group_partition_count_request>();
     request->new_partition_count = new_partition_count;
-    request->target = address;
-    request->__set_hp_target(hp);
+    SET_IP_AND_HOST_PORT_BY_DNS(*request, target, hp);
     request->child_pid = _child_gpid;
     request->ballot = get_ballot();
 
     LOG_INFO_PREFIX(
-        "send update child group partition count request to node({}({})), new 
partition_count = {}",
+        "send update child group partition count request to node({}), new 
partition_count = {}",
         hp,
-        address,
         new_partition_count);
     update_child_group_partition_count_rpc rpc(std::move(request),
                                                
RPC_SPLIT_UPDATE_CHILD_PARTITION_COUNT,
                                                0_ms,
                                                0,
                                                get_gpid().thread_hash());
-    rpc.call(address, tracker(), [this, rpc, not_replied_addresses](error_code 
ec) mutable {
+    DCHECK(request->hp_target, "");
+    DCHECK_EQ(request->target, 
dsn::dns_resolver::instance().resolve_address(request->hp_target));
+    rpc.call(request->target, tracker(), [this, rpc, 
not_replied_addresses](error_code ec) mutable {
         on_update_child_group_partition_count_reply(
             ec, rpc.request(), rpc.response(), not_replied_addresses);
     });
@@ -919,10 +916,11 @@ void 
replica_split_manager::on_update_child_group_partition_count_reply(
     error_code error = (ec == ERR_OK) ? response.err : ec;
     if (error == ERR_TIMEOUT) {
         LOG_WARNING_PREFIX(
-            "failed to update child node({}({})) partition_count, error = {}, 
wait and retry",
-            request.hp_target,
-            request.target,
+            "failed to update child node({}) partition_count, error = {}, wait 
and retry",
+            FMT_HOST_PORT_AND_IP(request, target),
             error);
+        DCHECK(request.hp_target, "");
+        DCHECK_EQ(request.target, 
dsn::dns_resolver::instance().resolve_address(request.hp_target));
         tasking::enqueue(
             LPC_PARTITION_SPLIT,
             tracker(),
@@ -937,18 +935,16 @@ void 
replica_split_manager::on_update_child_group_partition_count_reply(
     }
 
     if (error != ERR_OK) {
-        LOG_ERROR_PREFIX("failed to update child node({}({})) 
partition_count({}), error = {}",
-                         request.hp_target,
-                         request.target,
+        LOG_ERROR_PREFIX("failed to update child node({}) partition_count({}), 
error = {}",
+                         FMT_HOST_PORT_AND_IP(request, target),
                          request.new_partition_count,
                          error);
         parent_handle_split_error("on_update_child_group_partition_count_reply 
error", true);
         return;
     }
 
-    LOG_INFO_PREFIX("update node({}({})) child({}) partition_count({}) 
succeed",
-                    request.hp_target,
-                    request.target,
+    LOG_INFO_PREFIX("update node({}) child({}) partition_count({}) succeed",
+                    FMT_HOST_PORT_AND_IP(request, target),
                     request.child_pid,
                     request.new_partition_count);
 
@@ -1002,8 +998,7 @@ void replica_split_manager::register_child_on_meta(ballot 
b) // on primary paren
     request.app = _replica->_app_info;
     request.child_config = child_config;
     request.parent_config = _replica->_primary_states.membership;
-    request.primary = _stub->primary_address();
-    request.__set_hp_primary(_stub->primary_host_port());
+    SET_IP_AND_HOST_PORT(request, primary, _stub->primary_address(), 
_stub->primary_host_port());
 
     // reject client request
     
_replica->update_local_configuration_with_no_ballot_change(partition_status::PS_INACTIVE);
diff --git a/src/replica/split/test/replica_split_test.cpp 
b/src/replica/split/test/replica_split_test.cpp
index 6694c370b..d6f1ee5b4 100644
--- a/src/replica/split/test/replica_split_test.cpp
+++ b/src/replica/split/test/replica_split_test.cpp
@@ -204,8 +204,7 @@ public:
     {
         req.child_pid = CHILD_GPID;
         req.ballot = b;
-        req.target = PRIMARY_ADDR;
-        req.__set_hp_target(PRIMARY);
+        SET_IP_AND_HOST_PORT_BY_DNS(req, target, PRIMARY);
         req.new_partition_count = NEW_PARTITION_COUNT;
     }
 
@@ -296,8 +295,7 @@ public:
         req.child_gpid = CHILD_GPID;
         req.parent_gpid = PARENT_GPID;
         req.child_ballot = child_ballot;
-        req.child = PRIMARY_ADDR;
-        req.__set_hp_child(PRIMARY);
+        SET_IPS_AND_HOST_PORTS_BY_DNS(req, child, PRIMARY);
 
         notify_cacth_up_response resp;
         _parent_split_mgr->parent_handle_child_catch_up(req, resp);
@@ -364,8 +362,7 @@ public:
         req.child_config.pid = CHILD_GPID;
         req.child_config.ballot = INIT_BALLOT + 1;
         req.child_config.last_committed_decree = 0;
-        req.primary = PRIMARY_ADDR;
-        req.__set_hp_primary(PRIMARY);
+        SET_IP_AND_HOST_PORT_BY_DNS(req, primary, PRIMARY);
 
         register_child_response resp;
         resp.err = resp_err;
@@ -534,7 +531,6 @@ public:
     const int32_t NEW_PARTITION_COUNT = 16;
 
     const host_port PRIMARY = host_port("localhost", 18230);
-    const rpc_address PRIMARY_ADDR = 
dsn::dns_resolver::instance().resolve_address(PRIMARY);
     const host_port SECONDARY = host_port("localhost", 10058);
     const rpc_address SECONDARY_ADDR = 
dsn::dns_resolver::instance().resolve_address(SECONDARY);
     const host_port SECONDARY2 = host_port("localhost", 10805);


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

Reply via email to