This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch performance-tuning-2.7.x
in repository https://gitbox.apache.org/repos/asf/dubbo.git


The following commit(s) were added to refs/heads/performance-tuning-2.7.x by 
this push:
     new 4c35890  Performance tuning: keep heartbeat updated in io thread to 
avoid race condition. (#4246)
4c35890 is described below

commit 4c358907023a7f055cff769549b8030ed1a926fb
Author: ken.lj <[email protected]>
AuthorDate: Tue Jun 4 17:49:51 2019 +0800

    Performance tuning: keep heartbeat updated in io thread to avoid race 
condition. (#4246)
---
 .../remoting/exchange/support/header/AbstractTimerTask.java    |  4 ++--
 .../exchange/support/header/HeaderExchangeHandler.java         | 10 ----------
 2 files changed, 2 insertions(+), 12 deletions(-)

diff --git 
a/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/support/header/AbstractTimerTask.java
 
b/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/support/header/AbstractTimerTask.java
index befa688..3779d99 100644
--- 
a/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/support/header/AbstractTimerTask.java
+++ 
b/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/support/header/AbstractTimerTask.java
@@ -45,11 +45,11 @@ public abstract class AbstractTimerTask implements 
TimerTask {
     }
 
     static Long lastRead(Channel channel) {
-        return (Long) 
channel.getAttribute(HeaderExchangeHandler.KEY_READ_TIMESTAMP);
+        return (Long) 
channel.getAttribute(HeartbeatHandler.KEY_READ_TIMESTAMP);
     }
 
     static Long lastWrite(Channel channel) {
-        return (Long) 
channel.getAttribute(HeaderExchangeHandler.KEY_WRITE_TIMESTAMP);
+        return (Long) 
channel.getAttribute(HeartbeatHandler.KEY_WRITE_TIMESTAMP);
     }
 
     static Long now() {
diff --git 
a/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/support/header/HeaderExchangeHandler.java
 
b/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/support/header/HeaderExchangeHandler.java
index 220d5d7..23fe27c 100644
--- 
a/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/support/header/HeaderExchangeHandler.java
+++ 
b/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/support/header/HeaderExchangeHandler.java
@@ -44,10 +44,6 @@ public class HeaderExchangeHandler implements 
ChannelHandlerDelegate {
 
     protected static final Logger logger = 
LoggerFactory.getLogger(HeaderExchangeHandler.class);
 
-    public static final String KEY_READ_TIMESTAMP = 
HeartbeatHandler.KEY_READ_TIMESTAMP;
-
-    public static final String KEY_WRITE_TIMESTAMP = 
HeartbeatHandler.KEY_WRITE_TIMESTAMP;
-
     private final ExchangeHandler handler;
 
     public HeaderExchangeHandler(ExchangeHandler handler) {
@@ -125,8 +121,6 @@ public class HeaderExchangeHandler implements 
ChannelHandlerDelegate {
 
     @Override
     public void connected(Channel channel) throws RemotingException {
-        channel.setAttribute(KEY_READ_TIMESTAMP, System.currentTimeMillis());
-        channel.setAttribute(KEY_WRITE_TIMESTAMP, System.currentTimeMillis());
         ExchangeChannel exchangeChannel = 
HeaderExchangeChannel.getOrAddChannel(channel);
         try {
             handler.connected(exchangeChannel);
@@ -137,8 +131,6 @@ public class HeaderExchangeHandler implements 
ChannelHandlerDelegate {
 
     @Override
     public void disconnected(Channel channel) throws RemotingException {
-        channel.setAttribute(KEY_READ_TIMESTAMP, System.currentTimeMillis());
-        channel.setAttribute(KEY_WRITE_TIMESTAMP, System.currentTimeMillis());
         ExchangeChannel exchangeChannel = 
HeaderExchangeChannel.getOrAddChannel(channel);
         try {
             handler.disconnected(exchangeChannel);
@@ -152,7 +144,6 @@ public class HeaderExchangeHandler implements 
ChannelHandlerDelegate {
     public void sent(Channel channel, Object message) throws RemotingException 
{
         Throwable exception = null;
         try {
-            channel.setAttribute(KEY_WRITE_TIMESTAMP, 
System.currentTimeMillis());
             ExchangeChannel exchangeChannel = 
HeaderExchangeChannel.getOrAddChannel(channel);
             try {
                 handler.sent(exchangeChannel, message);
@@ -180,7 +171,6 @@ public class HeaderExchangeHandler implements 
ChannelHandlerDelegate {
 
     @Override
     public void received(Channel channel, Object message) throws 
RemotingException {
-        channel.setAttribute(KEY_READ_TIMESTAMP, System.currentTimeMillis());
         final ExchangeChannel exchangeChannel = 
HeaderExchangeChannel.getOrAddChannel(channel);
         try {
             if (message instanceof Request) {

Reply via email to