diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/Request.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/Request.java index 6eea6b02eaa..07dd67286c2 100644 --- a/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/Request.java +++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/Request.java @@ -137,6 +137,15 @@ public Request copy() { return copy; } + public Request copyWithoutData() { + Request copy = new Request(mId); + copy.mVersion = this.mVersion; + copy.mTwoWay = this.mTwoWay; + copy.mEvent = this.mEvent; + copy.mBroken = this.mBroken; + return copy; + } + @Override public String toString() { return "Request [id=" + mId + ", version=" + mVersion + ", twoway=" + mTwoWay + ", event=" + mEvent diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/support/DefaultFuture.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/support/DefaultFuture.java index ffd8a9e3656..5a12d62566f 100644 --- a/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/support/DefaultFuture.java +++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/support/DefaultFuture.java @@ -147,7 +147,7 @@ public static void closeChannel(Channel channel) { disconnectResponse.setErrorMessage("Channel " + channel + " is inactive. Directly return the unFinished request : " + - future.getRequest()); + (logger.isDebugEnabled() ? future.getRequest() : future.getRequest().copyWithoutData())); DefaultFuture.received(channel, disconnectResponse); } } @@ -251,15 +251,10 @@ private String getTimeoutMessage(boolean scan) { + (sent > 0 ? " client elapsed: " + (sent - start) + " ms, server elapsed: " + (nowTimestamp - sent) : " elapsed: " + (nowTimestamp - start)) + " ms, timeout: " - + timeout + " ms, request: " + (logger.isDebugEnabled() ? request : getRequestWithoutData()) + ", channel: " + channel.getLocalAddress() + + timeout + " ms, request: " + (logger.isDebugEnabled() ? request : request.copyWithoutData()) + ", channel: " + channel.getLocalAddress() + " -> " + channel.getRemoteAddress(); } - private Request getRequestWithoutData() { - Request newRequest = request.copy(); - newRequest.setData(null); - return newRequest; - } private static class TimeoutCheckTask implements TimerTask {