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.