From d3e0a0048170534469778c1ffa3aac3b24f201db Mon Sep 17 00:00:00 2001 From: "elric.lim" Date: Thu, 22 May 2025 00:43:01 +0900 Subject: [PATCH 1/6] refactoring exitIdle method --- internal/balancergroup/balancergroup.go | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/internal/balancergroup/balancergroup.go b/internal/balancergroup/balancergroup.go index 9addcf185300..82f20e850f3f 100644 --- a/internal/balancergroup/balancergroup.go +++ b/internal/balancergroup/balancergroup.go @@ -109,11 +109,9 @@ func (sbc *subBalancerWrapper) startBalancer() { // exitIdle invokes the sub-balancer's ExitIdle method. Returns a boolean // indicating whether or not the operation was completed. func (sbc *subBalancerWrapper) exitIdle() (complete bool) { - b := sbc.balancer - if b == nil { - return true + if b := sbc.balancer; b != nil { + b.ExitIdle() } - b.ExitIdle() return true } From 78de2d2fea9dd406403b7e51dc5f6ffcc8b1d8dc Mon Sep 17 00:00:00 2001 From: "elric.lim" Date: Thu, 22 May 2025 00:43:27 +0900 Subject: [PATCH 2/6] fix comment of method --- internal/balancergroup/balancergroup.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/balancergroup/balancergroup.go b/internal/balancergroup/balancergroup.go index 82f20e850f3f..0ece4575df76 100644 --- a/internal/balancergroup/balancergroup.go +++ b/internal/balancergroup/balancergroup.go @@ -106,7 +106,7 @@ func (sbc *subBalancerWrapper) startBalancer() { } } -// exitIdle invokes the sub-balancer's ExitIdle method. Returns a boolean +// exitIdle invokes the sub-balancer's ExitIdle method. Returns a true // indicating whether or not the operation was completed. func (sbc *subBalancerWrapper) exitIdle() (complete bool) { if b := sbc.balancer; b != nil { From cdf756e21369195e20876918998d4dfdcd41ca3d Mon Sep 17 00:00:00 2001 From: hoo Date: Sat, 24 May 2025 07:37:46 +0900 Subject: [PATCH 3/6] changed return type of exitIdle --- internal/balancergroup/balancergroup.go | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/internal/balancergroup/balancergroup.go b/internal/balancergroup/balancergroup.go index 0ece4575df76..5c0bc14ea47b 100644 --- a/internal/balancergroup/balancergroup.go +++ b/internal/balancergroup/balancergroup.go @@ -106,13 +106,13 @@ func (sbc *subBalancerWrapper) startBalancer() { } } -// exitIdle invokes the sub-balancer's ExitIdle method. Returns a true -// indicating whether or not the operation was completed. -func (sbc *subBalancerWrapper) exitIdle() (complete bool) { - if b := sbc.balancer; b != nil { - b.ExitIdle() +// exitIdle invokes the sub-balancer's ExitIdle method. +func (sbc *subBalancerWrapper) exitIdle() { + b := sbc.balancer + if b == nil { + return } - return true + b.ExitIdle() } func (sbc *subBalancerWrapper) updateClientConnState(s balancer.ClientConnState) error { @@ -573,9 +573,7 @@ func (bg *BalancerGroup) ExitIdle() { return } for _, config := range bg.idToBalancerConfig { - if !config.exitIdle() { - bg.connect(config) - } + config.exitIdle() } } @@ -588,9 +586,7 @@ func (bg *BalancerGroup) ExitIdleOne(id string) { return } if config := bg.idToBalancerConfig[id]; config != nil { - if !config.exitIdle() { - bg.connect(config) - } + config.exitIdle() } } From 8ead48a7e2efd4ca007e0a96ec0827daede31aa7 Mon Sep 17 00:00:00 2001 From: hoo Date: Sat, 24 May 2025 07:48:57 +0900 Subject: [PATCH 4/6] remove unused code --- internal/balancergroup/balancergroup.go | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/internal/balancergroup/balancergroup.go b/internal/balancergroup/balancergroup.go index 5c0bc14ea47b..99bee6e922b4 100644 --- a/internal/balancergroup/balancergroup.go +++ b/internal/balancergroup/balancergroup.go @@ -409,20 +409,6 @@ func (bg *BalancerGroup) cleanupSubConns(config *subBalancerWrapper) { } } -// connect attempts to connect to all subConns belonging to sb. -func (bg *BalancerGroup) connect(sb *subBalancerWrapper) { - bg.incomingMu.Lock() - defer bg.incomingMu.Unlock() - if bg.incomingClosed { - return - } - for sc, b := range bg.scToSubBalancer { - if b == sb { - sc.Connect() - } - } -} - // Following are actions from the parent grpc.ClientConn, forward to sub-balancers. // updateSubConnState forwards the update to cb and updates scToSubBalancer if From 66a2ad0618508dde0bc8c179564aa3f64991cba5 Mon Sep 17 00:00:00 2001 From: hoo Date: Mon, 26 May 2025 22:45:57 +0900 Subject: [PATCH 5/6] add comment on exitIdle --- internal/balancergroup/balancergroup.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/internal/balancergroup/balancergroup.go b/internal/balancergroup/balancergroup.go index 99bee6e922b4..8e5d46151dd7 100644 --- a/internal/balancergroup/balancergroup.go +++ b/internal/balancergroup/balancergroup.go @@ -106,7 +106,8 @@ func (sbc *subBalancerWrapper) startBalancer() { } } -// exitIdle invokes the sub-balancer's ExitIdle method. +// exitIdle invokes the sub-balancer's ExitIdle method +// which is a graceful switch balancer. func (sbc *subBalancerWrapper) exitIdle() { b := sbc.balancer if b == nil { From 827d46834271d105995e91eeff82b262d21f0aec Mon Sep 17 00:00:00 2001 From: hoo Date: Mon, 26 May 2025 23:28:18 +0900 Subject: [PATCH 6/6] fixed comment --- internal/balancergroup/balancergroup.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/balancergroup/balancergroup.go b/internal/balancergroup/balancergroup.go index 8e5d46151dd7..cd1a9ed17147 100644 --- a/internal/balancergroup/balancergroup.go +++ b/internal/balancergroup/balancergroup.go @@ -106,8 +106,8 @@ func (sbc *subBalancerWrapper) startBalancer() { } } -// exitIdle invokes the sub-balancer's ExitIdle method -// which is a graceful switch balancer. +// exitIdle invokes the ExitIdle method on the sub-balancer, a gracefulswitch +// balancer. func (sbc *subBalancerWrapper) exitIdle() { b := sbc.balancer if b == nil {