diff --git a/cluster/cluster_impl/failover_cluster_invoker.go b/cluster/cluster_impl/failover_cluster_invoker.go index 880fa94d042666adbd04716e4f24d8e3f34f6a37..dcce7369931a11f31fb6b9e4e1a6c0aa0ec7cdf6 100644 --- a/cluster/cluster_impl/failover_cluster_invoker.go +++ b/cluster/cluster_impl/failover_cluster_invoker.go @@ -83,7 +83,7 @@ func (invoker *failoverClusterInvoker) Invoke(invocation protocol.Invocation) pr if err != nil { return &protocol.RPCResult{Err: err} } - invokers := invoker.directory.List(invocation) + invokers = invoker.directory.List(invocation) err = invoker.checkInvokers(invokers, invocation) if err != nil { return &protocol.RPCResult{Err: err} diff --git a/cluster/directory/base_directory.go b/cluster/directory/base_directory.go index eeeb8a741bda64211b64c4b999578a460c9d59b7..ac7b04fa3386a8c2d8b7a7fac2ca3ae73c21305d 100644 --- a/cluster/directory/base_directory.go +++ b/cluster/directory/base_directory.go @@ -21,32 +21,30 @@ import ( "sync" ) import ( - "github.com/apache/dubbo-go/cluster" - "github.com/apache/dubbo-go/common/constant" - "github.com/apache/dubbo-go/common/extension" - "github.com/dubbogo/gost/container/gxset" "go.uber.org/atomic" ) import ( + "github.com/apache/dubbo-go/cluster" "github.com/apache/dubbo-go/common" + "github.com/apache/dubbo-go/common/constant" + "github.com/apache/dubbo-go/common/extension" + "github.com/dubbogo/gost/container/gxset" ) var RouterUrlSet = gxset.NewSet() type BaseDirectory struct { - url *common.URL - ConsumerUrl *common.URL - destroyed *atomic.Bool - routers []cluster.Router - mutex sync.Mutex - once sync.Once + url *common.URL + destroyed *atomic.Bool + routers []cluster.Router + mutex sync.Mutex + once sync.Once } func NewBaseDirectory(url *common.URL) BaseDirectory { return BaseDirectory{ - url: url, - ConsumerUrl: url, - destroyed: atomic.NewBool(false), + url: url, + destroyed: atomic.NewBool(false), } } func (dir *BaseDirectory) Destroyed() bool { diff --git a/cluster/directory/static_directory.go b/cluster/directory/static_directory.go index ebe76f8489a7f688dbce4b65c957578bf2e9ab3f..fc3a3326be01683e6d33c480c606cdc311726b75 100644 --- a/cluster/directory/static_directory.go +++ b/cluster/directory/static_directory.go @@ -67,7 +67,7 @@ func (dir *staticDirectory) List(invocation protocol.Invocation) []protocol.Invo } for _, router := range localRouters { if reflect.ValueOf(router.Url()).IsNil() || router.Url().GetParamBool(constant.RUNTIME_KEY, false) { - return router.Route(invokers, *dir.ConsumerUrl, invocation) + return router.Route(invokers, dir.GetUrl(), invocation) } } return invokers diff --git a/registry/directory/directory.go b/registry/directory/directory.go index d70dc4f269177485dfa166d0afac2f9425db8a7f..96ea612a1db5d116bd696019685acdc9a23cd389 100644 --- a/registry/directory/directory.go +++ b/registry/directory/directory.go @@ -22,8 +22,6 @@ import ( "reflect" "sync" "time" - - "github.com/apache/dubbo-go/cluster" ) import ( @@ -32,6 +30,7 @@ import ( ) import ( + "github.com/apache/dubbo-go/cluster" "github.com/apache/dubbo-go/cluster/directory" "github.com/apache/dubbo-go/common" "github.com/apache/dubbo-go/common/constant" @@ -247,11 +246,11 @@ func (dir *registryDirectory) List(invocation protocol.Invocation) []protocol.In invokers := dir.cacheInvokers localRouters := dir.Routers() - fmt.Println("========", len(localRouters)) + logger.Debug("========", len(localRouters)) if len(localRouters) > 0 { for _, router := range localRouters { if reflect.ValueOf(router.Url()).IsValid() || router.Url().GetParamBool(constant.RUNTIME_KEY, false) { - invokers = router.Route(invokers, *dir.ConsumerUrl, invocation) + invokers = router.Route(invokers, dir.GetUrl(), invocation) } } } diff --git a/registry/directory/directory_test.go b/registry/directory/directory_test.go index e9f62dc5641dc99aa678e4e74ea6e77185d944ad..b3c1d35aaa66b3437ff89807fba2df0a383921cb 100644 --- a/registry/directory/directory_test.go +++ b/registry/directory/directory_test.go @@ -118,8 +118,7 @@ func Test_List(t *testing.T) { registryDirectory, _ := normalRegistryDir() time.Sleep(1e9) - invokers := registryDirectory.List(&invocation.RPCInvocation{}) - assert.Len(t, invokers, 3) + assert.Len(t, registryDirectory.List(&invocation.RPCInvocation{}), 3) assert.Equal(t, true, registryDirectory.IsAvailable()) }