Skip to content

Commit e7eccb0

Browse files
authored
RpcClientProxy's lastUsedNanos is modified with volatile to avoid inconsistent visibility among multiple threads (#78)
1 parent d5ad43f commit e7eccb0

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

trpc-core/src/main/java/com/tencent/trpc/core/cluster/RpcClusterClientManager.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ public static void scanUnusedClient() {
127127
} finally {
128128
logger.warn("RpcClient in clusterName={}, naming={}, remove rpc client{}, due to unused time > {} ms",
129129
bConfig.getName(), bConfig.getNamingOptions().getServiceNaming(),
130-
e.getProtocolConfig().toSimpleString(), e.getProtocolConfig().getIdleTimeout());
130+
e.getProtocolConfig().toSimpleString(), bConfig.getIdleTimeout());
131131
}
132132
}));
133133
}
@@ -252,7 +252,7 @@ private static class RpcClientProxy implements RpcClient {
252252

253253
private RpcClient delegate;
254254

255-
private long lastUsedNanos = System.nanoTime();
255+
private volatile long lastUsedNanos = System.nanoTime();
256256

257257
RpcClientProxy(RpcClient delegate) {
258258
this.delegate = delegate;

0 commit comments

Comments
 (0)