fix(tsdb/retention): move fset destruction out of for loop
This commit is contained in:
parent
ce12686d08
commit
acd816a364
|
@ -74,6 +74,8 @@ static int32_t tsdbDoCopyFile(SRTNer *rtner, const STFileObj *from, const STFile
|
||||||
if (fdFrom == NULL) code = terrno;
|
if (fdFrom == NULL) code = terrno;
|
||||||
TSDB_CHECK_CODE(code, lino, _exit);
|
TSDB_CHECK_CODE(code, lino, _exit);
|
||||||
|
|
||||||
|
tsdbInfo("vgId: %d, open tofile: %s size: %" PRId64, TD_VID(rtner->tsdb->pVnode), fname, from->f->size);
|
||||||
|
|
||||||
fdTo = taosOpenFile(fname, TD_FILE_WRITE | TD_FILE_CREATE | TD_FILE_TRUNC);
|
fdTo = taosOpenFile(fname, TD_FILE_WRITE | TD_FILE_CREATE | TD_FILE_TRUNC);
|
||||||
if (fdTo == NULL) code = terrno;
|
if (fdTo == NULL) code = terrno;
|
||||||
TSDB_CHECK_CODE(code, lino, _exit);
|
TSDB_CHECK_CODE(code, lino, _exit);
|
||||||
|
@ -333,6 +335,7 @@ static int32_t tsdbDoRetentionOnFileSet(SRTNer *rtner, STFileSet *fset) {
|
||||||
int32_t mtime = 0;
|
int32_t mtime = 0;
|
||||||
taosStatFile(fobj->fname, NULL, &mtime, NULL);
|
taosStatFile(fobj->fname, NULL, &mtime, NULL);
|
||||||
if (mtime < rtner->now - tsS3UploadDelaySec) {
|
if (mtime < rtner->now - tsS3UploadDelaySec) {
|
||||||
|
tsdbInfo("file:%s size: %" PRId64 " do migrate s3", fobj->fname, fobj->f->size);
|
||||||
code = tsdbMigrateDataFileS3(rtner, fobj, &did);
|
code = tsdbMigrateDataFileS3(rtner, fobj, &did);
|
||||||
TSDB_CHECK_CODE(code, lino, _exit);
|
TSDB_CHECK_CODE(code, lino, _exit);
|
||||||
}
|
}
|
||||||
|
@ -356,6 +359,8 @@ static int32_t tsdbDoRetentionOnFileSet(SRTNer *rtner, STFileSet *fset) {
|
||||||
s3EvictCache(fobj->fname, fsize * 2);
|
s3EvictCache(fobj->fname, fsize * 2);
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
tsdbInfo("file:%s size: %" PRId64 " do migrate", fobj->fname, fobj->f->size);
|
||||||
|
|
||||||
code = tsdbDoMigrateFileObj(rtner, fobj, &did);
|
code = tsdbDoMigrateFileObj(rtner, fobj, &did);
|
||||||
TSDB_CHECK_CODE(code, lino, _exit);
|
TSDB_CHECK_CODE(code, lino, _exit);
|
||||||
//}
|
//}
|
||||||
|
@ -375,14 +380,6 @@ static int32_t tsdbDoRetentionOnFileSet(SRTNer *rtner, STFileSet *fset) {
|
||||||
|
|
||||||
_exit:
|
_exit:
|
||||||
if (code) {
|
if (code) {
|
||||||
if (TARRAY2_DATA(rtner->fopArr)) {
|
|
||||||
TARRAY2_DESTROY(rtner->fopArr, NULL);
|
|
||||||
}
|
|
||||||
TFileSetArray **fsetArr = &rtner->fsetArr;
|
|
||||||
if (fsetArr[0]) {
|
|
||||||
tsdbFSDestroyCopySnapshot(&rtner->fsetArr);
|
|
||||||
}
|
|
||||||
|
|
||||||
TSDB_ERROR_LOG(TD_VID(rtner->tsdb->pVnode), lino, code);
|
TSDB_ERROR_LOG(TD_VID(rtner->tsdb->pVnode), lino, code);
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
|
@ -437,13 +434,19 @@ static int32_t tsdbDoRetentionAsync(void *arg) {
|
||||||
|
|
||||||
_exit:
|
_exit:
|
||||||
if (code) {
|
if (code) {
|
||||||
|
if (TARRAY2_DATA(rtner->fopArr)) {
|
||||||
|
TARRAY2_DESTROY(rtner->fopArr, NULL);
|
||||||
|
}
|
||||||
|
TFileSetArray **fsetArr = &rtner->fsetArr;
|
||||||
|
if (fsetArr[0]) {
|
||||||
|
tsdbFSDestroyCopySnapshot(&rtner->fsetArr);
|
||||||
|
}
|
||||||
|
|
||||||
TSDB_ERROR_LOG(TD_VID(rtner->tsdb->pVnode), lino, code);
|
TSDB_ERROR_LOG(TD_VID(rtner->tsdb->pVnode), lino, code);
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int32_t tsdbRetention(STsdb *tsdb, int64_t now, int32_t sync) {
|
int32_t tsdbRetention(STsdb *tsdb, int64_t now, int32_t sync) {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue