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 07af09049 [#4412]add alarms for using old deprecated configuration
(#4432)
07af09049 is described below
commit 07af0904930d8451f22bdc0c5d5dc992542b0e64
Author: liubao68 <[email protected]>
AuthorDate: Sat Jul 27 14:51:28 2024 +0800
[#4412]add alarms for using old deprecated configuration (#4432)
---
.../bootup/ConfigurationProblemsCollector.java | 23 ++++++++++++++++++++++
.../server/ConfigurationProblemsCollectorTest.java | 7 ++++++-
.../src/main/resources/microservice.yaml | 5 +++++
3 files changed, 34 insertions(+), 1 deletion(-)
diff --git
a/core/src/main/java/org/apache/servicecomb/core/bootup/ConfigurationProblemsCollector.java
b/core/src/main/java/org/apache/servicecomb/core/bootup/ConfigurationProblemsCollector.java
index 8fc4979aa..72e6564a6 100644
---
a/core/src/main/java/org/apache/servicecomb/core/bootup/ConfigurationProblemsCollector.java
+++
b/core/src/main/java/org/apache/servicecomb/core/bootup/ConfigurationProblemsCollector.java
@@ -41,6 +41,7 @@ public class ConfigurationProblemsCollector implements
BootUpInformationCollecto
collectCsePrefix(engine.getEnvironment(), result);
collectServiceDefinition(engine.getEnvironment(), result);
collectTimeoutConfiguration(engine.getEnvironment(), result);
+ collectIsolationConfiguration(engine.getEnvironment(), result);
if (result.length() <= 0) {
return null;
}
@@ -49,6 +50,28 @@ public class ConfigurationProblemsCollector implements
BootUpInformationCollecto
return warnings;
}
+ // see https://github.com/apache/servicecomb-java-chassis/issues/4024
+ // since 2.8.12
+ private void collectIsolationConfiguration(Environment environment,
StringBuilder result) {
+ int percentage = environment.getProperty(
+ "servicecomb.loadbalance.isolation.errorThresholdPercentage",
int.class, -1);
+ int continuous = environment.getProperty(
+ "servicecomb.loadbalance.isolation.continuousFailureThreshold",
int.class, -1);
+ if (percentage == -1 && continuous == -1) {
+ return;
+ }
+ Boolean enable = environment.getProperty(
+ "servicecomb.loadbalance.filter.isolation.enabled", Boolean.class);
+ if (enable != null) {
+ return;
+ }
+ result.append("Configuration `servicecomb.loadbalance.isolation.*` is
deprecated and disabled by default, "
+ + "use governance instead. "
+ + "See https://servicecomb.apache.org/references/java-chassis/"
+ + "zh_CN/references-handlers/governance-best-practise.html. If you
want to enable it, add"
+ + "`servicecomb.loadbalance.filter.isolation.enabled=true`
implicitly.");
+ }
+
private void collectTimeoutConfiguration(Environment environment,
StringBuilder result) {
int keepAliveTimeoutInSeconds = environment.getProperty(
"servicecomb.rest.client.connection.keepAliveTimeoutInSeconds",
int.class, 60);
diff --git
a/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/ConfigurationProblemsCollectorTest.java
b/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/ConfigurationProblemsCollectorTest.java
index 4852176bb..aa5de24c9 100644
---
a/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/ConfigurationProblemsCollectorTest.java
+++
b/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/ConfigurationProblemsCollectorTest.java
@@ -45,6 +45,11 @@ public class ConfigurationProblemsCollectorTest implements
CategorizedTestCase {
+ "Configurations `APPLICATION_ID` is deprecated, use
`servicecomb.service.application` instead.\n"
+ "Configurations with prefix `service_description` is deprecated, "
+ "use `servicecomb.service` instead. Find keys
[service_description.name, service_description.paths, "
- + "service_description.version]\n");
+ + "service_description.version]\n"
+ + "Configuration `servicecomb.loadbalance.isolation.*` is deprecated
and disabled by default, "
+ + "use governance instead. "
+ + "See https://servicecomb.apache.org/references/java-chassis/"
+ + "zh_CN/references-handlers/governance-best-practise.html. If you
want to enable it, add"
+ + "`servicecomb.loadbalance.filter.isolation.enabled=true`
implicitly.");
}
}
diff --git
a/demo/demo-springmvc/springmvc-server/src/main/resources/microservice.yaml
b/demo/demo-springmvc/springmvc-server/src/main/resources/microservice.yaml
index 5c76a8abd..5707a6f87 100644
--- a/demo/demo-springmvc/springmvc-server/src/main/resources/microservice.yaml
+++ b/demo/demo-springmvc/springmvc-server/src/main/resources/microservice.yaml
@@ -86,6 +86,11 @@ servicecomb:
region: my-Region
availableZone: my-Zone
codec.printErrorMessage: true
+
+ # For old testing
+ loadbalance:
+ isolation:
+ errorThresholdPercentage: 20
#########SSL options
# open jdk 8 now TLSv1.3 not available
# ssl.protocols: TLSv1.3