You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by ya...@apache.org on 2019/05/24 07:12:51 UTC

[servicecomb-java-chassis] 02/02: [SCB-1274]when service center is unavailable, service should enter safe mode:fix as reviewed

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

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

commit 1e269582fec7f49b54b72f7df4bef7be8e51b5c0
Author: heyile <25...@qq.com>
AuthorDate: Thu May 16 09:22:20 2019 +0800

    [SCB-1274]when service center is unavailable, service should enter safe mode:fix as reviewed
---
 .../serviceregistry/task/ServiceCenterTask.java           | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/ServiceCenterTask.java b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/ServiceCenterTask.java
index 48fa775..170ee3f 100644
--- a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/ServiceCenterTask.java
+++ b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/ServiceCenterTask.java
@@ -78,24 +78,17 @@ public class ServiceCenterTask implements Runnable {
       if (!safeMode && consecutiveFailedTimes.incrementAndGet() > checkTimes) {
         LOGGER.warn("service center is unavailable, enter safe mode");
         eventBus.post(new SafeModeChangeEvent(true));
+        this.safeMode = true;
       }
-      if (consecutiveSucceededTimes.get() != 0) {
-        consecutiveSucceededTimes.set(0);
-      }
+      consecutiveSucceededTimes.set(0);
       return;
     }
     if (safeMode && consecutiveSucceededTimes.incrementAndGet() > checkTimes) {
       LOGGER.warn("service center is recovery, exit safe mode");
       eventBus.post(new SafeModeChangeEvent(false));
+      this.safeMode = false;
     }
-    if (consecutiveFailedTimes.get() != 0) {
-      consecutiveFailedTimes.set(0);
-    }
-  }
-
-  @Subscribe
-  public void onSafeModeChanged(SafeModeChangeEvent modeChangeEvent) {
-    safeMode = modeChangeEvent.getCurrentMode();
+    consecutiveFailedTimes.set(0);
   }
 
   // messages given in watch error