handle PD get member error

Signed-off-by: Ping Yu <yuping@pingcap.com>
This commit is contained in:
Ping Yu 2024-06-01 14:46:11 +08:00
parent c6110dd808
commit 556e9fbe0a
1 changed files with 13 additions and 0 deletions

View File

@ -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))
}