From 722abb81c575fec0e27cffce711b350288e14342 Mon Sep 17 00:00:00 2001 From: Aaron Liu Date: Wed, 14 Jan 2026 12:41:26 +0800 Subject: [PATCH] fix(nodepool): exclusive lock should be held for weight LB --- pkg/cluster/pool.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/cluster/pool.go b/pkg/cluster/pool.go index dfbc75de..20c74e81 100644 --- a/pkg/cluster/pool.go +++ b/pkg/cluster/pool.go @@ -87,8 +87,8 @@ func NewNodePool(ctx context.Context, l logging.Logger, config conf.ConfigProvid func (p *weightedNodePool) Get(ctx context.Context, capability types.NodeCapability, preferred int) (Node, error) { l := logging.FromContext(ctx) - p.lock.RLock() - defer p.lock.RUnlock() + p.lock.Lock() + defer p.lock.Unlock() nodes, ok := p.nodes[capability] if !ok || len(nodes) == 0 {