From d6ff9fe570f0a115167701c45787114799a70457 Mon Sep 17 00:00:00 2001 From: yongman Date: Mon, 23 May 2022 21:52:03 +0800 Subject: [PATCH 1/2] Fix region cache update error when handle not leader Signed-off-by: yongman --- src/region_cache.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/region_cache.rs b/src/region_cache.rs index bef93a5..045e2c3 100644 --- a/src/region_cache.rs +++ b/src/region_cache.rs @@ -209,9 +209,11 @@ impl RegionCache { let mut cache = self.region_cache.write().await; let region_entry = cache .ver_id_to_region - .get_mut(&ver_id) - .ok_or(Error::EntryNotFoundInRegionCache)?; - region_entry.leader = Some(leader); + .get_mut(&ver_id); + if let Some(region) = region_entry { + region.leader = Some(leader); + } + Ok(()) } From 9d569481a80704653ee84a78a7f4311d662b0a9f Mon Sep 17 00:00:00 2001 From: yongman Date: Tue, 24 May 2022 14:51:53 +0800 Subject: [PATCH 2/2] Format code Signed-off-by: yongman --- src/region_cache.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/region_cache.rs b/src/region_cache.rs index 045e2c3..b278ef7 100644 --- a/src/region_cache.rs +++ b/src/region_cache.rs @@ -207,9 +207,7 @@ impl RegionCache { leader: metapb::Peer, ) -> Result<()> { let mut cache = self.region_cache.write().await; - let region_entry = cache - .ver_id_to_region - .get_mut(&ver_id); + let region_entry = cache.ver_id_to_region.get_mut(&ver_id); if let Some(region) = region_entry { region.leader = Some(leader); }