You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2021/03/09 00:54:42 UTC

[servicecomb-java-chassis] branch master updated: [SCB-2209]fix RouterFilter print logs for each invocation (#2283)

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/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
     new 993e475  [SCB-2209]fix RouterFilter print logs for each invocation (#2283)
993e475 is described below

commit 993e4750e136d585de5dc5378122298e348b20d7
Author: bao liu <bi...@qq.com>
AuthorDate: Tue Mar 9 08:54:37 2021 +0800

    [SCB-2209]fix RouterFilter print logs for each invocation (#2283)
---
 .../java/org/apache/servicecomb/router/RouterFilter.java | 16 ++++++++--------
 .../router/custom/RouterServerListFilter.java            |  2 +-
 .../apache/servicecomb/router/RouterDistributorTest.java |  5 +++--
 3 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/handlers/handler-router/src/main/java/org/apache/servicecomb/router/RouterFilter.java b/handlers/handler-router/src/main/java/org/apache/servicecomb/router/RouterFilter.java
index c2397e4..56f45de 100644
--- a/handlers/handler-router/src/main/java/org/apache/servicecomb/router/RouterFilter.java
+++ b/handlers/handler-router/src/main/java/org/apache/servicecomb/router/RouterFilter.java
@@ -16,18 +16,21 @@
  */
 package org.apache.servicecomb.router;
 
-import com.netflix.loadbalancer.Server;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+
+import javax.validation.constraints.NotNull;
+
 import org.apache.servicecomb.router.cache.RouterRuleCache;
 import org.apache.servicecomb.router.distribute.RouterDistributor;
 import org.apache.servicecomb.router.match.RouterRuleMatcher;
 import org.apache.servicecomb.router.model.PolicyRuleItem;
-import org.springframework.util.StringUtils;
-import org.springframework.util.CollectionUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
+
+import com.netflix.loadbalancer.Server;
 
 
 /**
@@ -39,16 +42,13 @@ public class RouterFilter {
   private static final Logger LOGGER = LoggerFactory.getLogger(RouterFilter.class);
 
   public static <T extends Server, E> List<T> getFilteredListOfServers(List<T> list,
-      String targetServiceName, Map<String, String> headers, RouterDistributor<T, E> distributer) {
+      String targetServiceName, @NotNull Map<String, String> headers, RouterDistributor<T, E> distributer) {
     if (CollectionUtils.isEmpty(list)) {
       return list;
     }
     if (StringUtils.isEmpty(targetServiceName)) {
       return list;
     }
-    if (headers == null) {
-      headers = new HashMap<>();
-    }
     /**
      * 1.init and cache
      */
diff --git a/handlers/handler-router/src/main/java/org/apache/servicecomb/router/custom/RouterServerListFilter.java b/handlers/handler-router/src/main/java/org/apache/servicecomb/router/custom/RouterServerListFilter.java
index 59df369..5e1b443 100644
--- a/handlers/handler-router/src/main/java/org/apache/servicecomb/router/custom/RouterServerListFilter.java
+++ b/handlers/handler-router/src/main/java/org/apache/servicecomb/router/custom/RouterServerListFilter.java
@@ -66,7 +66,7 @@ public class RouterServerListFilter implements ServerListFilterExt {
 
   private Map<String, String> filterHeaders(Map<String, String> headers) {
     List<RouterHeaderFilterExt> filters = SPIServiceUtils
-        .loadSortedService(RouterHeaderFilterExt.class);
+        .getOrLoadSortedService(RouterHeaderFilterExt.class);
     for (RouterHeaderFilterExt filterExt : filters) {
       if (filterExt.enabled()) {
         headers = filterExt.doFilter(headers);
diff --git a/handlers/handler-router/src/test/java/org/apache/servicecomb/router/RouterDistributorTest.java b/handlers/handler-router/src/test/java/org/apache/servicecomb/router/RouterDistributorTest.java
index 2979ab2..e70251c 100644
--- a/handlers/handler-router/src/test/java/org/apache/servicecomb/router/RouterDistributorTest.java
+++ b/handlers/handler-router/src/test/java/org/apache/servicecomb/router/RouterDistributorTest.java
@@ -18,6 +18,7 @@
 package org.apache.servicecomb.router;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -71,9 +72,9 @@ public class RouterDistributorTest {
   private static final String TARGET_SERVICE_NAME = "test_server";
 
   @Test
-  public void testHeaderIsNull() {
+  public void testHeaderIsEmpty() {
     List<ServiceIns> list = getMockList();
-    List<ServiceIns> serverList = mainFilter(list, null);
+    List<ServiceIns> serverList = mainFilter(list, Collections.emptyMap());
     Assert.assertEquals(2, serverList.size());
   }