This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git

commit 0f569c2a4a038362fb254d4a60a80423cb0ac9d2
Author: liubao <bao....@huawei.com>
AuthorDate: Wed May 16 14:23:25 2018 +0800

    [SCB-582]only protect empty instances and make this behavior default
---
 demo/demo-pojo/pojo-client/src/main/resources/microservice.yaml     | 2 +-
 .../servicecomb/serviceregistry/config/ServiceRegistryConfig.java   | 6 +++---
 .../servicecomb/serviceregistry/consumer/MicroserviceVersions.java  | 3 +--
 3 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/demo/demo-pojo/pojo-client/src/main/resources/microservice.yaml 
b/demo/demo-pojo/pojo-client/src/main/resources/microservice.yaml
index 74d9481..47b01f5 100644
--- a/demo/demo-pojo/pojo-client/src/main/resources/microservice.yaml
+++ b/demo/demo-pojo/pojo-client/src/main/resources/microservice.yaml
@@ -27,7 +27,7 @@ servicecomb:
         healthCheck:
           interval: 2
         watch: false
-        remove:
+        empty:
           protection: true
   handler:
     chain:
diff --git 
a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/config/ServiceRegistryConfig.java
 
b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/config/ServiceRegistryConfig.java
index 0d48a8b..a5932a7 100644
--- 
a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/config/ServiceRegistryConfig.java
+++ 
b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/config/ServiceRegistryConfig.java
@@ -224,11 +224,11 @@ public final class ServiceRegistryConfig {
     return times < 0 ? DEFAULT_CHECK_TIMES : times;
   }
 
-  public boolean isInstanceRemoveProtectionEnabled() {
+  public boolean isEmptyInstanceProtectionEnabled() {
     DynamicBooleanProperty property =
         DynamicPropertyFactory.getInstance()
-            
.getBooleanProperty("servicecomb.service.registry.instance.remove.protection",
-                false);
+            
.getBooleanProperty("servicecomb.service.registry.instance.empty.protection",
+                true);
     return property.get();
   }
 
diff --git 
a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/consumer/MicroserviceVersions.java
 
b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/consumer/MicroserviceVersions.java
index 00b5bc3..14e1a18 100644
--- 
a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/consumer/MicroserviceVersions.java
+++ 
b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/consumer/MicroserviceVersions.java
@@ -28,7 +28,6 @@ import org.apache.servicecomb.serviceregistry.RegistryUtils;
 import org.apache.servicecomb.serviceregistry.api.Const;
 import 
org.apache.servicecomb.serviceregistry.api.registry.MicroserviceInstance;
 import 
org.apache.servicecomb.serviceregistry.api.registry.MicroserviceInstanceStatus;
-import org.apache.servicecomb.serviceregistry.api.registry.ServiceCenterConfig;
 import 
org.apache.servicecomb.serviceregistry.api.response.MicroserviceInstanceChangedEvent;
 import 
org.apache.servicecomb.serviceregistry.client.http.MicroserviceInstances;
 import org.apache.servicecomb.serviceregistry.config.ServiceRegistryConfig;
@@ -175,7 +174,7 @@ public class MicroserviceVersions {
           return MicroserviceInstanceStatus.UP.equals(instance.getStatus());
         })
         .collect(Collectors.toList());
-    if (inUseInstances != null && 
ServiceRegistryConfig.INSTANCE.isInstanceRemoveProtectionEnabled()) {
+    if (upInstances.isEmpty() && inUseInstances != null && 
ServiceRegistryConfig.INSTANCE.isEmptyInstanceProtectionEnabled()) {
       MicroserviceInstancePing ping = 
SPIServiceUtils.getPriorityHighestService(MicroserviceInstancePing.class);
       inUseInstances.stream()
           .forEach(instance -> {

-- 
To stop receiving notification emails like this one, please contact
liu...@apache.org.

Reply via email to