diff --git a/src/meta-srv/src/region/supervisor.rs b/src/meta-srv/src/region/supervisor.rs index 5d9ed1c5c171..534731e3e1c0 100644 --- a/src/meta-srv/src/region/supervisor.rs +++ b/src/meta-srv/src/region/supervisor.rs @@ -306,6 +306,16 @@ impl RegionSupervisor { datanode_id: DatanodeId, region_id: RegionId, ) -> Result<()> { + let from_peer = self + .peer_lookup + .datanode(cluster_id, datanode_id) + .await + .context(error::LookupPeerSnafu { + peer_id: datanode_id, + })? + .context(error::PeerUnavailableSnafu { + peer_id: datanode_id, + })?; let mut peers = self .selector .select( @@ -318,16 +328,6 @@ impl RegionSupervisor { ) .await?; let to_peer = peers.remove(0); - let from_peer = self - .peer_lookup - .datanode(cluster_id, datanode_id) - .await - .context(error::LookupPeerSnafu { - peer_id: datanode_id, - })? - .context(error::PeerUnavailableSnafu { - peer_id: datanode_id, - })?; let task = RegionMigrationProcedureTask { cluster_id, region_id,