From 556e9fbe0a3f8fb19a3cd61e2ca0e1cee43f0c59 Mon Sep 17 00:00:00 2001 From: Ping Yu Date: Sat, 1 Jun 2024 14:46:11 +0800 Subject: [PATCH] handle PD get member error Signed-off-by: Ping Yu --- src/pd/cluster.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/pd/cluster.rs b/src/pd/cluster.rs index e74a78fb..a26dfa63 100644 --- a/src/pd/cluster.rs +++ b/src/pd/cluster.rs @@ -234,6 +234,19 @@ impl Connection { .get_members(pdpb::GetMembersRequest::default()) .await? .into_inner(); + if let Some(err) = resp + .header + .as_ref() + .and_then(|header| header.error.as_ref()) + { + return Err(internal_err!("failed to get PD members, err {:?}", err)); + } + if resp.leader.is_none() { + return Err(internal_err!( + "unexpected no PD leader in get member resp: {:?}", + resp + )); + } Ok((client, keyspace_client, resp)) }