Add error log and close wal file.

This commit is contained in:
xiao-77 2024-11-12 17:28:46 +08:00
parent e930b1d2a6
commit 9c24db5d03
1 changed files with 14 additions and 4 deletions

View File

@ -93,17 +93,22 @@ static int32_t walInitLock(SWal *pWal) {
int32_t walInitWriteFileForSkip(SWal *pWal) { int32_t walInitWriteFileForSkip(SWal *pWal) {
TdFilePtr pIdxTFile, pLogTFile; TdFilePtr pIdxTFile, pLogTFile;
int64_t fileFirstVer = 0; int64_t fileFirstVer = 0;
int32_t code = 0;
char fnameStr[WAL_FILE_LEN]; char fnameStr[WAL_FILE_LEN];
walBuildIdxName(pWal, fileFirstVer, fnameStr); walBuildIdxName(pWal, fileFirstVer, fnameStr);
pIdxTFile = taosOpenFile(fnameStr, TD_FILE_CREATE | TD_FILE_WRITE | TD_FILE_APPEND); pIdxTFile = taosOpenFile(fnameStr, TD_FILE_CREATE | TD_FILE_WRITE | TD_FILE_APPEND);
if (pIdxTFile == NULL) { if (pIdxTFile == NULL) {
TAOS_RETURN(terrno); wError("vgId:%d, failed to open file since %s", pWal->cfg.vgId, tstrerror(terrno));
code = terrno;
goto _exit;
} }
walBuildLogName(pWal, fileFirstVer, fnameStr); walBuildLogName(pWal, fileFirstVer, fnameStr);
pLogTFile = taosOpenFile(fnameStr, TD_FILE_CREATE | TD_FILE_WRITE | TD_FILE_APPEND); pLogTFile = taosOpenFile(fnameStr, TD_FILE_CREATE | TD_FILE_WRITE | TD_FILE_APPEND);
if (pLogTFile == NULL) { if (pLogTFile == NULL) {
TAOS_RETURN(terrno); wError("vgId:%d, failed to open file since %s", pWal->cfg.vgId, tstrerror(terrno));
code = terrno;
goto _exit;
} }
// switch file // switch file
pWal->pIdxFile = pIdxTFile; pWal->pIdxFile = pIdxTFile;
@ -111,10 +116,15 @@ int32_t walInitWriteFileForSkip(SWal *pWal) {
SWalFileInfo fileInfo; SWalFileInfo fileInfo;
(void)memset(&fileInfo, -1, sizeof(SWalFileInfo)); (void)memset(&fileInfo, -1, sizeof(SWalFileInfo));
if (!taosArrayPush(pWal->fileInfoSet, &fileInfo)) { if (!taosArrayPush(pWal->fileInfoSet, &fileInfo)) {
TAOS_RETURN(TSDB_CODE_FAILED); wError("vgId:%d, failed to push fileInfo into array since %s", pWal->cfg.vgId, tstrerror(terrno));
code = terrno;
goto _exit;
} }
pWal->writeCur = 0; pWal->writeCur = 0;
TAOS_RETURN(TSDB_CODE_SUCCESS); _exit:
(void)taosCloseFile(&pIdxTFile);
(void)taosCloseFile(&pLogTFile);
TAOS_RETURN(code);
} }
SWal *walOpen(const char *path, SWalCfg *pCfg) { SWal *walOpen(const char *path, SWalCfg *pCfg) {