You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by li...@apache.org on 2021/02/23 16:12:17 UTC
[dubbo] branch 2.6.x updated: 限流功能动态配置之后不生效 (#7060)
This is an automated email from the ASF dual-hosted git repository.
liujun pushed a commit to branch 2.6.x
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/2.6.x by this push:
new 64d8e36 限流功能动态配置之后不生效 (#7060)
64d8e36 is described below
commit 64d8e36ff313cb253fc32a4d943176d1c78924f8
Author: qingxiangOS <50...@users.noreply.github.com>
AuthorDate: Wed Feb 24 00:11:58 2021 +0800
限流功能动态配置之后不生效 (#7060)
---
.../java/com/alibaba/dubbo/rpc/filter/tps/DefaultTPSLimiter.java | 6 ++++++
.../src/main/java/com/alibaba/dubbo/rpc/filter/tps/StatItem.java | 7 +++++++
2 files changed, 13 insertions(+)
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/tps/DefaultTPSLimiter.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/tps/DefaultTPSLimiter.java
index 03890cb..fe9dd34 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/tps/DefaultTPSLimiter.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/tps/DefaultTPSLimiter.java
@@ -40,6 +40,12 @@ public class DefaultTPSLimiter implements TPSLimiter {
stats.putIfAbsent(serviceKey,
new StatItem(serviceKey, rate, interval));
statItem = stats.get(serviceKey);
+ } else {
+ //rate or interval has changed, rebuild
+ if (statItem.getRate() != rate || statItem.getInterval() != interval) {
+ stats.put(serviceKey, new StatItem(serviceKey, rate, interval));
+ statItem = stats.get(serviceKey);
+ }
}
return statItem.isAllowable();
} else {
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/tps/StatItem.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/tps/StatItem.java
index d3b768f..260a7a7 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/tps/StatItem.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/tps/StatItem.java
@@ -72,4 +72,11 @@ class StatItem {
.toString();
}
+ public int getRate() {
+ return rate;
+ }
+
+ public long getInterval() {
+ return interval;
+ }
}