- [x] I have searched the [issues](https://github.com/apache/dubbo/issues) of this repository and believe that this is not a duplicate.
- [x] I have checked the [FAQ](https://github.com/apache/dubbo/blob/master/FAQ.md) of this repository and believe that this is not a duplicate.

### Environment

* Dubbo version: 2.7.2-SNAPSHOT
* Operating System version: ubuntu 
* Java version: oracle 11

### Steps to reproduce this issue
```
[INFO] Results:
[INFO] 
[ERROR] Failures: 
[ERROR]   ConditionRouterTest.testRoute_matchFilter:132 expected: <0> but was: <2>
```

```
[INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.24 s - in org.apache.dubbo.rpc.cluster.StickyTest
[INFO] Running org.apache.dubbo.rpc.cluster.router.condition.ConditionRouterTest
The localhost address: 10.20.3.47:20880
10.20.3.47:20880
[ERROR] Tests run: 12, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.047 s <<< FAILURE! - in org.apache.dubbo.rpc.cluster.router.condition.ConditionRouterTest
[ERROR] testRoute_matchFilter  Time elapsed: 0.023 s  <<< FAILURE!
org.opentest4j.AssertionFailedError: expected: <0> but was: <2>
	at org.apache.dubbo.rpc.cluster.router.condition.ConditionRouterTest.testRoute_matchFilter(ConditionRouterTest.java:132)

[INFO] Running org.apache.dubbo.rpc.cluster.router.ConfigConditionRouterTest
[WARNING] Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.001 s - in org.apache.dubbo.rpc.cluster.router.ConfigConditionRouterTest
[INFO] Running org.apache.dubbo.rpc.cluster.router.script.ScriptRouterTest
Warning: Nashorn engine is planned to be removed from a future JDK release
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.46 s - in org.apache.dubbo.rpc.cluster.router.script.ScriptRouterTest
[INFO] Running org.apache.dubbo.rpc.cluster.router.file.FileRouterEngineTest
Warning: Nashorn engine is planned to be removed from a future JDK release
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.973 s - in org.apache.dubbo.rpc.cluster.router.file.FileRouterEngineTest
[INFO] Running org.apache.dubbo.rpc.cluster.router.TagRouterTest
[WARNING] Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0 s - in org.apache.dubbo.rpc.cluster.router.TagRouterTest
[INFO] Running org.apache.dubbo.rpc.cluster.loadbalance.RandomLoadBalanceTest
647
5712
3641
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.707 s - in org.apache.dubbo.rpc.cluster.loadbalance.RandomLoadBalanceTest
[INFO] Running org.apache.dubbo.rpc.cluster.loadbalance.LeastActiveBalanceTest
```
Full logs：
https://api.travis-ci.org/v3/job/538065499/log.txt
https://api.travis-ci.org/v3/job/538173916/log.txt
https://api.travis-ci.org/v3/job/539533829/log.txt
matchWhen = ((ConditionRouter) router2).matchWhen(
                URL.valueOf("consumer://1.1.1.1/com.foo.BarService?methods=getFoo"), invocation);
        Assertions.assertFalse(matchWhen);
        Router router3 = new ConditionRouterFactory()
                .getRouter(getRouteUrl("methods=getFoo & host=1.1.1.1 => host = 1.2.3.4"));
        matchWhen = ((ConditionRouter) router3).matchWhen(
                URL.valueOf("consumer://1.1.1.1/com.foo.BarService?methods=getFoo"), invocation);
        Assertions.assertTrue(matchWhen);
        
        List<Invoker<String>> invokers = new ArrayList<Invoker<String>>();
        Invoker<String> invoker1 = new MockInvoker<String>(URL.valueOf("dubbo://10.20.3.3:20880/com.foo.BarService"));
        Invoker<String> invoker2 = new MockInvoker<String>(URL.valueOf("dubbo://" + NetUtils.getLocalHost()
                + ":20880/com.foo.BarService"));
        Invoker<String> invoker3 = new MockInvoker<String>(URL.valueOf("dubbo://" + NetUtils.getLocalHost()
                + ":20880/com.foo.BarService"));
        invokers.add(invoker1);
        invokers.add(invoker2);
        invokers.add(invoker3);
        Router router4 = new ConditionRouterFactory().getRouter(getRouteUrl(
                "host = " + NetUtils.getLocalHost() + " & methods = getFoo => " + " host = 10.20.3.3").addParameter(
                FORCE_KEY, String.valueOf(true)));
        List<Invoker<String>> filteredInvokers1 = router4.route(invokers,
                URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), invocation);
        Assertions.assertEquals(1, filteredInvokers1.size());
        Router router5 = new ConditionRouterFactory().getRouter(getRouteUrl(
                "host = " + NetUtils.getLocalHost() + " & methods = unvalidmethod => " + " host = 10.20.3.3")
                .addParameter(FORCE_KEY, String.valueOf(true)));
        List<Invoker<String>> filteredInvokers2 = router5.route(invokers,
                URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), invocation);
        Assertions.assertEquals(3, filteredInvokers2.size());