Skip to content

Commit ed66afd

Browse files
committedOct 10, 2017
Fix warmup timestamp bug, add 'remote.timestamp' key to url on consumer side
·
dubbo-3.3.52.7.6
1 parent ab47426 commit ed66afd

File tree

3 files changed

+5
-1
lines changed

3 files changed

+5
-1
lines changed
 

‎dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/AbstractLoadBalance.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public <T> Invoker<T> select(List<Invoker<T>> invokers, URL url, Invocation invo
4848
protected int getWeight(Invoker<?> invoker, Invocation invocation) {
4949
int weight = invoker.getUrl().getMethodParameter(invocation.getMethodName(), Constants.WEIGHT_KEY, Constants.DEFAULT_WEIGHT);
5050
if (weight > 0) {
51-
long timestamp = invoker.getUrl().getParameter(Constants.TIMESTAMP_KEY, 0L);
51+
long timestamp = invoker.getUrl().getParameter(Constants.REMOTE_TIMESTAMP_KEY, 0L);
5252
if (timestamp > 0L) {
5353
int uptime = (int) (System.currentTimeMillis() - timestamp);
5454
int warmup = invoker.getUrl().getParameter(Constants.WARMUP_KEY, Constants.DEFAULT_WARMUP);

‎dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/ClusterUtils.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,8 @@ public static URL mergeUrl(URL remoteUrl, Map<String, String> localMap) {
8080
if (methods != null && methods.length() > 0) {
8181
map.put(Constants.METHODS_KEY, methods);
8282
}
83+
// 保留provider的启动timestamp
84+
map.put(Constants.REMOTE_TIMESTAMP_KEY, remoteMap.get(Constants.TIMESTAMP_KEY));
8385
// 合并filter和listener
8486
String remoteFilter = remoteMap.get(Constants.REFERENCE_FILTER_KEY);
8587
String localFilter = localMap.get(Constants.REFERENCE_FILTER_KEY);

‎dubbo-common/src/main/java/com/alibaba/dubbo/common/Constants.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,8 @@ public class Constants {
296296

297297
public static final String TIMESTAMP_KEY = "timestamp";
298298

299+
public static final String REMOTE_TIMESTAMP_KEY = "remote.timestamp";
300+
299301
public static final String WARMUP_KEY = "warmup";
300302

301303
public static final int DEFAULT_WARMUP = 10 * 60 * 1000;

0 commit comments

Comments
 (0)
Please sign in to comment.