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) {