move load compIdx out
This commit is contained in:
parent
8134cedd57
commit
ffb2a5482a
|
@ -787,6 +787,7 @@ static int tsdbRestoreInfo(STsdbRepo *pRepo) {
|
|||
tsdbInitFileGroupIter(pFileH, &iter, TSDB_ORDER_DESC);
|
||||
while ((pFGroup = tsdbGetFileGroupNext(&iter)) != NULL) {
|
||||
if (tsdbSetAndOpenHelperFile(&rhelper, pFGroup) < 0) goto _err;
|
||||
if (tsdbLoadCompIdx(&rhelper, NULL) < 0) goto _err;
|
||||
for (int i = 1; i < pMeta->maxTables; i++) {
|
||||
STable *pTable = pMeta->tables[i];
|
||||
if (pTable == NULL) continue;
|
||||
|
|
|
@ -603,6 +603,11 @@ static int tsdbCommitToFile(STsdbRepo *pRepo, int fid, SCommitIter *iters, SRWHe
|
|||
goto _err;
|
||||
}
|
||||
|
||||
if (tsdbLoadCompIdx(pHelper, NULL) < 0) {
|
||||
tsdbError("vgId:%d failed to load SCompIdx part since %s", REPO_ID(pRepo), tstrerror(terrno));
|
||||
goto _err;
|
||||
}
|
||||
|
||||
// Loop to commit data in each table
|
||||
for (int tid = 1; tid < pMem->maxTables; tid++) {
|
||||
SCommitIter *pIter = iters + tid;
|
||||
|
|
|
@ -118,12 +118,12 @@ int tsdbSetAndOpenHelperFile(SRWHelper *pHelper, SFileGroup *pGroup) {
|
|||
|
||||
// Open the files
|
||||
#ifdef TSDB_IDX
|
||||
if (tsdbOpenFile(helperIdxF(pHelper), O_RDONLY) < 0) goto _err;
|
||||
if (tsdbOpenFile(helperIdxF(pHelper), O_RDONLY) < 0) return -1;
|
||||
#endif
|
||||
if (tsdbOpenFile(helperHeadF(pHelper), O_RDONLY) < 0) goto _err;
|
||||
if (tsdbOpenFile(helperHeadF(pHelper), O_RDONLY) < 0) return -1;
|
||||
if (helperType(pHelper) == TSDB_WRITE_HELPER) {
|
||||
if (tsdbOpenFile(helperDataF(pHelper), O_RDWR) < 0) goto _err;
|
||||
if (tsdbOpenFile(helperLastF(pHelper), O_RDWR) < 0) goto _err;
|
||||
if (tsdbOpenFile(helperDataF(pHelper), O_RDWR) < 0) return -1;
|
||||
if (tsdbOpenFile(helperLastF(pHelper), O_RDWR) < 0) return -1;
|
||||
|
||||
#ifdef TSDB_IDX
|
||||
// Create and open .i file
|
||||
|
@ -144,23 +144,20 @@ int tsdbSetAndOpenHelperFile(SRWHelper *pHelper, SFileGroup *pGroup) {
|
|||
// Create and open .l file if should
|
||||
if (tsdbShouldCreateNewLast(pHelper)) {
|
||||
pFile = helperNewLastF(pHelper);
|
||||
if (tsdbOpenFile(pFile, O_WRONLY | O_CREAT) < 0) goto _err;
|
||||
if (tsdbOpenFile(pFile, O_WRONLY | O_CREAT) < 0) return -1;
|
||||
pFile->info.size = TSDB_FILE_HEAD_SIZE;
|
||||
pFile->info.magic = TSDB_FILE_INIT_MAGIC;
|
||||
pFile->info.len = 0;
|
||||
if (tsdbUpdateFileHeader(pFile, 0) < 0) return -1;
|
||||
}
|
||||
} else {
|
||||
if (tsdbOpenFile(helperDataF(pHelper), O_RDONLY) < 0) goto _err;
|
||||
if (tsdbOpenFile(helperLastF(pHelper), O_RDONLY) < 0) goto _err;
|
||||
if (tsdbOpenFile(helperDataF(pHelper), O_RDONLY) < 0) return -1;
|
||||
if (tsdbOpenFile(helperLastF(pHelper), O_RDONLY) < 0) return -1;
|
||||
}
|
||||
|
||||
helperSetState(pHelper, TSDB_HELPER_FILE_SET_AND_OPEN);
|
||||
|
||||
return tsdbLoadCompIdx(pHelper, NULL);
|
||||
|
||||
_err:
|
||||
return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int tsdbCloseHelperFile(SRWHelper *pHelper, bool hasError) {
|
||||
|
|
|
@ -558,11 +558,12 @@ static int32_t getFileCompInfo(STsdbQueryHandle* pQueryHandle, int32_t* numOfBlo
|
|||
SFileGroup* fileGroup = pQueryHandle->pFileGroup;
|
||||
assert(fileGroup->files[TSDB_FILE_TYPE_HEAD].fname > 0);
|
||||
|
||||
int32_t code = tsdbSetAndOpenHelperFile(&pQueryHandle->rhelper, fileGroup);
|
||||
if (tsdbSetAndOpenHelperFile(&pQueryHandle->rhelper, fileGroup) < 0) {
|
||||
return terrno;
|
||||
}
|
||||
|
||||
//open file failed, return error code to client
|
||||
if (code != TSDB_CODE_SUCCESS) {
|
||||
return code;
|
||||
if (tsdbLoadCompIdx(&pQueryHandle->rhelper, NULL) < 0) {
|
||||
return terrno;
|
||||
}
|
||||
|
||||
// load all the comp offset value for all tables in this file
|
||||
|
|
Loading…
Reference in New Issue