This is an automated email from the ASF dual-hosted git repository.
liubao pushed a commit to branch 2.8.x
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git
The following commit(s) were added to refs/heads/2.8.x by this push:
new ce3cf0a7c [#4520]ratioCeiling defaults to 100-ratio (#4523)
ce3cf0a7c is described below
commit ce3cf0a7c212d4d8986df4ae7cd41ab5be430e4b
Author: liubao68 <[email protected]>
AuthorDate: Sat Sep 14 17:13:04 2024 +0800
[#4520]ratioCeiling defaults to 100-ratio (#4523)
---
.../servicecomb/loadbalance/filterext/ZoneAwareDiscoveryFilter.java | 6 +++---
.../loadbalance/filterext/TestZoneAwareDiscoveryFilter.java | 1 +
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git
a/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/filterext/ZoneAwareDiscoveryFilter.java
b/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/filterext/ZoneAwareDiscoveryFilter.java
index fdf621892..93f386835 100644
---
a/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/filterext/ZoneAwareDiscoveryFilter.java
+++
b/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/filterext/ZoneAwareDiscoveryFilter.java
@@ -50,9 +50,9 @@ public class ZoneAwareDiscoveryFilter implements
ServerListFilterExt {
.getIntProperty(CONFIG_RATIO, 30).get();
}
- private int getRatioCeiling() {
+ private int getRatioCeiling(int defaultValue) {
return DynamicPropertyFactory.getInstance()
- .getIntProperty(CONFIG_RATIO_CEILING, 70).get();
+ .getIntProperty(CONFIG_RATIO_CEILING, defaultValue).get();
}
@Override
@@ -74,7 +74,7 @@ public class ZoneAwareDiscoveryFilter implements
ServerListFilterExt {
});
int ratio = getRatio();
- int ratioCeiling = getRatioCeiling();
+ int ratioCeiling = getRatioCeiling(100 - ratio);
if (hasEnoughMembers(servers.size(), instancesRegionAndAZMatch.size(),
ratio, ratioCeiling)) {
return instancesRegionAndAZMatch;
diff --git
a/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/filterext/TestZoneAwareDiscoveryFilter.java
b/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/filterext/TestZoneAwareDiscoveryFilter.java
index c54589780..18c790b7c 100644
---
a/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/filterext/TestZoneAwareDiscoveryFilter.java
+++
b/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/filterext/TestZoneAwareDiscoveryFilter.java
@@ -50,6 +50,7 @@ public class TestZoneAwareDiscoveryFilter {
@Test
public void test_not_enough_instance() {
ArchaiusUtils.setProperty(ZoneAwareDiscoveryFilter.CONFIG_RATIO, 50);
+ ArchaiusUtils.setProperty(ZoneAwareDiscoveryFilter.CONFIG_RATIO_CEILING,
70);
ZoneAwareDiscoveryFilter filter = new ZoneAwareDiscoveryFilter();
// set up data