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

Reply via email to