This is an automated email from the ASF dual-hosted git repository. vongosling pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/rocketmq.git
commit 0a31a7b27186ddb9d8cb453aef87e4872554f3c6 Author: maowei.ymw <[email protected]> AuthorDate: Thu Dec 13 17:07:30 2018 +0800 Release semaphore when timeout --- .../java/org/apache/rocketmq/remoting/netty/NettyRemotingAbstract.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingAbstract.java b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingAbstract.java index 8dccebc..9b02640 100644 --- a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingAbstract.java +++ b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingAbstract.java @@ -410,7 +410,8 @@ public abstract class NettyRemotingAbstract { final SemaphoreReleaseOnlyOnce once = new SemaphoreReleaseOnlyOnce(this.semaphoreAsync); long costTime = System.currentTimeMillis() - beginStartTime; if (timeoutMillis < costTime) { - throw new RemotingTooMuchRequestException("invokeAsyncImpl call timeout"); + once.release(); + throw new RemotingTimeoutException("invokeAsyncImpl call timeout"); } final ResponseFuture responseFuture = new ResponseFuture(channel, opaque, timeoutMillis - costTime, invokeCallback, once);
