Merge pull request #27401 from taosdata/fix/TD-31539

fix(wal/assert): return error code instead of assert
This commit is contained in:
Hongze Cheng 2024-08-22 18:34:17 +08:00 committed by GitHub
commit c2585cef6b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 3 deletions

View File

@ -357,7 +357,10 @@ static int32_t walLogEntriesComplete(const SWal* pWal) {
static int32_t walTrimIdxFile(SWal* pWal, int32_t fileIdx) { static int32_t walTrimIdxFile(SWal* pWal, int32_t fileIdx) {
SWalFileInfo* pFileInfo = taosArrayGet(pWal->fileInfoSet, fileIdx); SWalFileInfo* pFileInfo = taosArrayGet(pWal->fileInfoSet, fileIdx);
ASSERT(pFileInfo != NULL); if (!pFileInfo) {
TAOS_RETURN(TSDB_CODE_FAILED);
}
char fnameStr[WAL_FILE_LEN]; char fnameStr[WAL_FILE_LEN];
walBuildIdxName(pWal, pFileInfo->firstVer, fnameStr); walBuildIdxName(pWal, pFileInfo->firstVer, fnameStr);

View File

@ -371,8 +371,11 @@ static FORCE_INLINE int32_t walCheckAndRoll(SWal *pWal) {
int32_t walBeginSnapshot(SWal *pWal, int64_t ver, int64_t logRetention) { int32_t walBeginSnapshot(SWal *pWal, int64_t ver, int64_t logRetention) {
int32_t code = 0; int32_t code = 0;
if (logRetention < 0) {
TAOS_RETURN(TSDB_CODE_FAILED);
}
TAOS_UNUSED(taosThreadMutexLock(&pWal->mutex)); TAOS_UNUSED(taosThreadMutexLock(&pWal->mutex));
ASSERT(logRetention >= 0);
pWal->vers.verInSnapshotting = ver; pWal->vers.verInSnapshotting = ver;
pWal->vers.logRetention = logRetention; pWal->vers.logRetention = logRetention;
@ -438,7 +441,10 @@ int32_t walEndSnapshot(SWal *pWal) {
if (pInfo) { if (pInfo) {
wDebug("vgId:%d, wal search found file info. ver:%" PRId64 ", first:%" PRId64 " last:%" PRId64, pWal->cfg.vgId, ver, wDebug("vgId:%d, wal search found file info. ver:%" PRId64 ", first:%" PRId64 " last:%" PRId64, pWal->cfg.vgId, ver,
pInfo->firstVer, pInfo->lastVer); pInfo->firstVer, pInfo->lastVer);
ASSERT(ver <= pInfo->lastVer); if (ver > pInfo->lastVer) {
TAOS_CHECK_GOTO(TSDB_CODE_FAILED, &lino, _exit);
}
if (ver == pInfo->lastVer) { if (ver == pInfo->lastVer) {
pInfo++; pInfo++;
} }