From 06386bf1fe2fe5b9e03f84801958f0f75e841e33 Mon Sep 17 00:00:00 2001 From: wangxiaowei14227 Date: Mon, 7 Jun 2021 11:14:45 +0800 Subject: [PATCH 1/4] =?UTF-8?q?routerChain=20=E8=B0=83=E7=94=A8=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cluster/directory/base_directory.go | 6 ++---- registry/directory/directory.go | 5 ++++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/cluster/directory/base_directory.go b/cluster/directory/base_directory.go index 0d530d9c0d..4c531e3043 100644 --- a/cluster/directory/base_directory.go +++ b/cluster/directory/base_directory.go @@ -27,7 +27,6 @@ import ( import ( "github.com/apache/dubbo-go/cluster/router" - "github.com/apache/dubbo-go/cluster/router/chain" "github.com/apache/dubbo-go/common" "github.com/apache/dubbo-go/common/constant" "github.com/apache/dubbo-go/common/extension" @@ -46,9 +45,8 @@ type BaseDirectory struct { // NewBaseDirectory Create BaseDirectory with URL func NewBaseDirectory(url *common.URL) BaseDirectory { return BaseDirectory{ - url: url, - destroyed: atomic.NewBool(false), - routerChain: &chain.RouterChain{}, + url: url, + destroyed: atomic.NewBool(false), } } diff --git a/registry/directory/directory.go b/registry/directory/directory.go index e552dcb408..0337f6bc4e 100644 --- a/registry/directory/directory.go +++ b/registry/directory/directory.go @@ -237,7 +237,10 @@ func (dir *RegistryDirectory) setNewInvokers() { dir.invokersLock.Lock() defer dir.invokersLock.Unlock() dir.cacheInvokers = newInvokers - dir.RouterChain().SetInvokers(newInvokers) + routerChain := dir.RouterChain() + if routerChain != nil { + routerChain.SetInvokers(newInvokers) + } } // cacheInvokerByEvent caches invokers from the service event From 825fe3a2d59be201f655f529383af1460a0c5464 Mon Sep 17 00:00:00 2001 From: wangxiaowei14227 Date: Tue, 8 Jun 2021 14:11:11 +0800 Subject: [PATCH 2/4] =?UTF-8?q?static=5Fdirectory=20routerchain=20?= =?UTF-8?q?=E7=94=B1BuildRouterChain=E5=88=9B=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cluster/directory/static_directory.go | 1 - 1 file changed, 1 deletion(-) diff --git a/cluster/directory/static_directory.go b/cluster/directory/static_directory.go index aa87732c66..46e7b915ac 100644 --- a/cluster/directory/static_directory.go +++ b/cluster/directory/static_directory.go @@ -44,7 +44,6 @@ func NewStaticDirectory(invokers []protocol.Invoker) *staticDirectory { invokers: invokers, } - dir.routerChain.SetInvokers(invokers) return dir } From fe7ddc942fb05b5f7d5b9ee2caec8262f5e71c7c Mon Sep 17 00:00:00 2001 From: wangxiaowei14227 Date: Thu, 17 Jun 2021 10:36:24 +0800 Subject: [PATCH 3/4] =?UTF-8?q?static=5Fdirectory=20routerchain=20?= =?UTF-8?q?=E7=94=B1BuildRouterChain=E5=88=9B=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cluster/directory/base_directory.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/cluster/directory/base_directory.go b/cluster/directory/base_directory.go index 8f1aec4f09..4c531e3043 100644 --- a/cluster/directory/base_directory.go +++ b/cluster/directory/base_directory.go @@ -48,8 +48,6 @@ func NewBaseDirectory(url *common.URL) BaseDirectory { url: url, destroyed: atomic.NewBool(false), } - // start to listen notify - } // RouterChain Return router chain in directory From f3638868a690d07cb1358e13f66000617e2dd517 Mon Sep 17 00:00:00 2001 From: wangxiaowei14227 Date: Wed, 23 Jun 2021 13:55:25 +0800 Subject: [PATCH 4/4] =?UTF-8?q?add=20router=20=E5=88=A4=E6=96=ADrouterChai?= =?UTF-8?q?n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cluster/directory/base_directory.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cluster/directory/base_directory.go b/cluster/directory/base_directory.go index 4c531e3043..63a211587b 100644 --- a/cluster/directory/base_directory.go +++ b/cluster/directory/base_directory.go @@ -74,7 +74,7 @@ func (dir *BaseDirectory) GetDirectoryUrl() *common.URL { // AddRouters Convert url to routers and add them into dir.routerChain func (dir *BaseDirectory) AddRouters(urls []*common.URL) { - if len(urls) == 0 { + if len(urls) == 0 || dir.routerChain == nil { return }