diff --git a/source/libs/executor/src/groupcacheoperator.c b/source/libs/executor/src/groupcacheoperator.c index 7a55b42e1a..f56fc98285 100755 --- a/source/libs/executor/src/groupcacheoperator.c +++ b/source/libs/executor/src/groupcacheoperator.c @@ -583,7 +583,7 @@ static int32_t getBlkFromSessionCacheImpl(struct SOperatorInfo* pOperator, int64 pSession->lastBlkId = 0; return code; } - } else if (pSession->lastBlkId < blkNum) { + } else if ((pSession->lastBlkId + 1) < blkNum) { int64_t* pIdx = taosArrayGet(pBatchList->pBlkList, pSession->lastBlkId + 1); taosRUnLockLatch(&pBatchList->lock); code = retrieveBlkFromBufCache(pGCache, pSession->pGroupData, sessionId, *pIdx, &pSession->nextOffset, ppRes);