From c7b8505956106b3bc507a461ea5796838d6bfa2b Mon Sep 17 00:00:00 2001 From: dentinyhao Date: Tue, 31 Mar 2026 04:40:37 -0700 Subject: [PATCH] fix(lb): Use the first address for pick-first policy --- grpc/src/client/load_balancing/pick_first.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/grpc/src/client/load_balancing/pick_first.rs b/grpc/src/client/load_balancing/pick_first.rs index 0c10807a5..21e5817bb 100644 --- a/grpc/src/client/load_balancing/pick_first.rs +++ b/grpc/src/client/load_balancing/pick_first.rs @@ -91,7 +91,10 @@ impl LbPolicy for PickFirstPolicy { .ok_or("no endpoints")? .addresses; - let address = addresses.pop().ok_or("no addresses")?; + if addresses.is_empty() { + return Err("no addresses".to_string()); + } + let address = addresses.remove(0); let sc = channel_controller.new_subchannel(&address); sc.connect();