File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -283,6 +283,11 @@ impl Connection {
283283 }
284284 }
285285
286+ /// Attempts to connect to the PD cluster leader.
287+ ///
288+ /// Iterates over known members to find a responsive node, then connects
289+ /// to the reported leader. Returns an error if no leader is present or
290+ /// reachable.
286291 async fn try_connect_leader (
287292 & self ,
288293 previous : & pdpb:: GetMembersResponse ,
@@ -292,7 +297,11 @@ impl Connection {
292297 keyspacepb:: keyspace_client:: KeyspaceClient < Channel > ,
293298 pdpb:: GetMembersResponse ,
294299 ) > {
295- let previous_leader = previous. leader . as_ref ( ) . unwrap ( ) ;
300+ let previous_leader = previous
301+ . leader
302+ . as_ref ( )
303+ . ok_or_else ( || internal_err ! ( "PD cluster has no leader" ) ) ?;
304+
296305 let members = & previous. members ;
297306 let cluster_id = previous. header . as_ref ( ) . unwrap ( ) . cluster_id ;
298307
You can’t perform that action at this time.
0 commit comments