From 480ce5d402976b3199c01dee8937e933b92ba24c Mon Sep 17 00:00:00 2001 From: iosmanthus Date: Tue, 7 Dec 2021 15:39:54 +0800 Subject: [PATCH] fix seekLeaderStore NPE Signed-off-by: iosmanthus --- .../common/region/AbstractRegionStoreClient.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/tikv/common/region/AbstractRegionStoreClient.java b/src/main/java/org/tikv/common/region/AbstractRegionStoreClient.java index e34a0ff352d..5c00b4a7032 100644 --- a/src/main/java/org/tikv/common/region/AbstractRegionStoreClient.java +++ b/src/main/java/org/tikv/common/region/AbstractRegionStoreClient.java @@ -206,11 +206,14 @@ private Boolean seekLeaderStore(SlowLog slowLog) { "update leader using switchLeader logic from store[%d] to store[%d]", region.getLeader().getStoreId(), peer.getStoreId())); // update region cache - region = regionManager.updateLeader(region, peer.getStoreId()); - // switch to leader store - store = currentLeaderStore; - updateClientStub(); - return true; + TiRegion result = regionManager.updateLeader(region, peer.getStoreId()); + if (result != null) { + region = result; + // switch to leader store + store = currentLeaderStore; + updateClientStub(); + } + return false; } } else { // no leader found, some response does not return normally, there may be network partition.