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
commit 7701260374a2bd9c6023aa126e007f4d202064e8 Author: GuoYL <[email protected]> AuthorDate: Mon Nov 25 11:50:40 2019 +0800 [SCB-1407] delete synchronize --- .../distribute/AbstractRouterDistributor.java | 32 ++++++++++------------ 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/handlers/handler-router/src/main/java/org/apache/servicecomb/router/distribute/AbstractRouterDistributor.java b/handlers/handler-router/src/main/java/org/apache/servicecomb/router/distribute/AbstractRouterDistributor.java index a192ec6..64d957d 100644 --- a/handlers/handler-router/src/main/java/org/apache/servicecomb/router/distribute/AbstractRouterDistributor.java +++ b/handlers/handler-router/src/main/java/org/apache/servicecomb/router/distribute/AbstractRouterDistributor.java @@ -90,10 +90,9 @@ public abstract class AbstractRouterDistributor<T extends Server, E> implements /** * 1.filter targetService - * 2.return map distributed by version and tags - * establish map is a more complicate way than direct traversal, - * because we need to consider multiple matches, - * getProperties contains other irrelevant field except tags. + * 2.establish map is a more complicate way than direct traversal, because of multiple matches. + * + * the method getProperties() contains other field that we don't need. * * @param serviceName * @param list @@ -120,21 +119,19 @@ public abstract class AbstractRouterDistributor<T extends Server, E> implements targetTag = entry.getTagitem(); } } - synchronized (invokeRule) { - if (invokeRule.isWeightLess() && getVersion.apply(ms).equals(latestV)) { - TagItem latestVTag = invokeRule.getRoute().get(invokeRule.getRoute().size() - 1) - .getTagitem(); - if (!versionServerMap.containsKey(latestVTag)) { - versionServerMap.put(latestVTag, new ArrayList<>()); - } - versionServerMap.get(latestVTag).add(server); + if (invokeRule.isWeightLess() && getVersion.apply(ms).equals(latestV)) { + TagItem latestVTag = invokeRule.getRoute().get(invokeRule.getRoute().size() - 1) + .getTagitem(); + if (!versionServerMap.containsKey(latestVTag)) { + versionServerMap.put(latestVTag, new ArrayList<>()); } - if (targetTag != null) { - if (!versionServerMap.containsKey(targetTag)) { - versionServerMap.put(targetTag, new ArrayList<>()); - } - versionServerMap.get(targetTag).add(server); + versionServerMap.get(latestVTag).add(server); + } + if (targetTag != null) { + if (!versionServerMap.containsKey(targetTag)) { + versionServerMap.put(targetTag, new ArrayList<>()); } + versionServerMap.get(targetTag).add(server); } } } @@ -161,7 +158,6 @@ public abstract class AbstractRouterDistributor<T extends Server, E> implements } /** - * * @param list * @param targetServiceName * @return
