diff --git a/internal/locate/region_request.go b/internal/locate/region_request.go index d02ed94c0..8cb586e94 100644 --- a/internal/locate/region_request.go +++ b/internal/locate/region_request.go @@ -1059,7 +1059,7 @@ func (s *RegionRequestSender) SendReqCtx( // TODO: Change the returned error to something like "region missing in cache", // and handle this error like EpochNotMatch, which means to re-split the request and retry. cacheRegionIsValid := "unknown" - if s.replicaSelector.region != nil { + if s.replicaSelector != nil && s.replicaSelector.region != nil { if s.replicaSelector.region.isValid() { cacheRegionIsValid = "true" } else {