Skip to content

Commit d868d45

Browse files
committed
fix: correct timeout logic in invokeSync call in TcpRemotingClient
1 parent e8df008 commit d868d45

1 file changed

Lines changed: 2 additions & 3 deletions

File tree

deps/rocketmq/src/transport/TcpRemotingClient.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -221,11 +221,10 @@ std::unique_ptr<RemotingCommand> TcpRemotingClient::invokeSync(const std::string
221221
try {
222222
doBeforeRpcHooks(addr, request, true);
223223
auto costTime = UtilAll::currentTimeMillis() - beginStartTime;
224-
if (timeoutMillis <= 0 || timeoutMillis <= costTime) {
224+
if (timeoutMillis <= 0 || timeoutMillis < costTime) {
225225
THROW_MQEXCEPTION(RemotingTimeoutException, "invokeSync call timeout", -1);
226226
}
227-
auto remainTimeoutMillis = timeoutMillis - costTime;
228-
std::unique_ptr<RemotingCommand> response(invokeSyncImpl(channel, request, remainTimeoutMillis));
227+
std::unique_ptr<RemotingCommand> response(invokeSyncImpl(channel, request, timeoutMillis));
229228
doAfterRpcHooks(addr, request, response.get(), false);
230229
return response;
231230
} catch (const RemotingSendRequestException& e) {

0 commit comments

Comments
 (0)