diff --git a/src/main/java/org/tikv/common/region/RegionStoreClient.java b/src/main/java/org/tikv/common/region/RegionStoreClient.java index ba742c872b..511ae2e6bb 100644 --- a/src/main/java/org/tikv/common/region/RegionStoreClient.java +++ b/src/main/java/org/tikv/common/region/RegionStoreClient.java @@ -298,7 +298,16 @@ public class RegionStoreClient extends AbstractRegionStoreClient { forWrite); BatchGetResponse resp = callWithRetry(backOffer, TikvGrpc.getKvBatchGetMethod(), request, handler); - return handleBatchGetResponse(backOffer, resp, version); + try { + return handleBatchGetResponse(backOffer, resp, version); + } catch (TiKVException e) { + if ("locks not resolved, retry".equals(e.getMessage())) { + backOffer.doBackOff(BackOffFunction.BackOffFuncType.BoTxnLock, e); + return batchGet(backOffer, keys, version); + } else { + throw e; + } + } } private List handleBatchGetResponse(