[ 
https://issues.apache.org/jira/browse/SCB-706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16541750#comment-16541750
 ] 

ASF GitHub Bot commented on SCB-706:
------------------------------------

wujimin commented on a change in pull request #803:  [SCB-706]change filters to 
discovery filters and support invocation based filters
URL: 
https://github.com/apache/incubator-servicecomb-java-chassis/pull/803#discussion_r202061340
 
 

 ##########
 File path: 
handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/filter/SimpleTransactionControlFilter.java
 ##########
 @@ -34,23 +36,36 @@
 public class SimpleTransactionControlFilter extends TransactionControlFilter {
 
   @Override
-  public List<Server> getFilteredListOfServers(List<Server> servers) {
+  public boolean enabled() {
+    return DynamicPropertyFactory.getInstance()
+        .getBooleanProperty("servicecomb.loadbalance.filter.simple.enabled", 
true).get();
+  }
+
+  @Override
+  public int getOrder() {
+    return 200;
+  }
+
+  @Override
+  public List<Server> getFilteredListOfServers(List<Server> servers, 
Invocation invocation) {
     List<Server> filteredServers = new ArrayList<>();
     Map<String, String> filterOptions =
 
 Review comment:
   seems this is about configuration and instances
   better to move to DiscoveryFilter?
   
   so that we can cache ability?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> refactor loadbalance filters logic to support invocation based filter
> ---------------------------------------------------------------------
>
>                 Key: SCB-706
>                 URL: https://issues.apache.org/jira/browse/SCB-706
>             Project: Apache ServiceComb
>          Issue Type: Improvement
>            Reporter: liubao
>            Assignee: liubao
>            Priority: Major
>
> Why we do this?
>  # When implement invocation based filter, e.g. darklaunch deployment, we 
> need to filter servers based on invocation parameters. But now, we create a 
> Loadbalaner instance for each service, and Robin filter interface can not 
> pass Invocation to it. Before refactor, we doing this by ThreadLocal and 
> cache Invocation, and use in filter implementation. This is error prone and 
> users can't handle this complixity
>  # We have other improvements, e.g. SCB-700, we can do server status check, 
> and add a filter a choose from active servers. We need to consider filter 
> orders and other feature, current implementation not satisfy this.
>  # We want to make loadbalance code handy by remove some compatible fixes. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to