From c7be3f588aec6bfb4553b4e0213eb7d07a23845e Mon Sep 17 00:00:00 2001 From: liucc1997 <1192520566@qq.com> Date: Thu, 27 Mar 2025 04:45:57 +0000 Subject: [PATCH] make sure the RPC_NET_DELAY is monotonically increasing --- src/observer/ob_srv_deliver.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/observer/ob_srv_deliver.cpp b/src/observer/ob_srv_deliver.cpp index 0dd02c20ed..48f7ae815e 100644 --- a/src/observer/ob_srv_deliver.cpp +++ b/src/observer/ob_srv_deliver.cpp @@ -582,6 +582,10 @@ int ObSrvDeliver::deliver_rpc_request(ObRequest &req) } } + int64_t rpc_net_delay = req.get_receive_timestamp() - req.get_send_timestamp(); + if (rpc_net_delay < 0) { + rpc_net_delay = 0; + } if (!OB_SUCC(ret)) { } else if (NULL != queue) { @@ -591,8 +595,7 @@ int ObSrvDeliver::deliver_rpc_request(ObRequest &req) EVENT_INC(RPC_PACKET_IN); EVENT_ADD(RPC_PACKET_IN_BYTES, pkt.get_encoded_size() + OB_NET_HEADER_LENGTH); - EVENT_ADD(RPC_NET_DELAY, - req.get_receive_timestamp() - req.get_send_timestamp()); + EVENT_ADD(RPC_NET_DELAY, rpc_net_delay); EVENT_ADD(RPC_NET_FRAME_DELAY, now - req.get_receive_timestamp()); } @@ -630,8 +633,7 @@ int ObSrvDeliver::deliver_rpc_request(ObRequest &req) EVENT_INC(RPC_PACKET_IN); EVENT_ADD(RPC_PACKET_IN_BYTES, pkt.get_encoded_size() + OB_NET_HEADER_LENGTH); - EVENT_ADD(RPC_NET_DELAY, - req.get_receive_timestamp() - req.get_send_timestamp()); + EVENT_ADD(RPC_NET_DELAY, rpc_net_delay); EVENT_ADD(RPC_NET_FRAME_DELAY, now - req.get_receive_timestamp()); }