more code
This commit is contained in:
parent
d963a4f20c
commit
1fa5d02b94
|
@ -57,32 +57,6 @@ typedef struct {
|
||||||
SBlockData sData;
|
SBlockData sData;
|
||||||
} STsdbCompactor;
|
} STsdbCompactor;
|
||||||
|
|
||||||
static int32_t tsdbCommitCompact(STsdbCompactor *pCompactor) {
|
|
||||||
int32_t code = 0;
|
|
||||||
int32_t lino = 0;
|
|
||||||
|
|
||||||
STsdb *pTsdb = pCompactor->pTsdb;
|
|
||||||
|
|
||||||
code = tsdbFSPrepareCommit(pTsdb, &pCompactor->fs);
|
|
||||||
TSDB_CHECK_CODE(code, lino, _exit);
|
|
||||||
|
|
||||||
taosThreadRwlockWrlock(&pTsdb->rwLock);
|
|
||||||
|
|
||||||
code = tsdbFSCommit(pTsdb);
|
|
||||||
if (code) {
|
|
||||||
taosThreadRwlockUnlock(&pTsdb->rwLock);
|
|
||||||
TSDB_CHECK_CODE(code, lino, _exit);
|
|
||||||
}
|
|
||||||
|
|
||||||
taosThreadRwlockUnlock(&pTsdb->rwLock);
|
|
||||||
|
|
||||||
_exit:
|
|
||||||
if (code) {
|
|
||||||
tsdbError("vgId:%d %s failed at line %d since %s", TD_VID(pTsdb->pVnode), __func__, lino, tstrerror(code));
|
|
||||||
}
|
|
||||||
return code;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int32_t tsdbAbortCompact(STsdbCompactor *pCompactor) {
|
static int32_t tsdbAbortCompact(STsdbCompactor *pCompactor) {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
int32_t lino = 0;
|
int32_t lino = 0;
|
||||||
|
@ -660,8 +634,31 @@ _exit:
|
||||||
if (code) {
|
if (code) {
|
||||||
tsdbAbortCompact(pCompactor);
|
tsdbAbortCompact(pCompactor);
|
||||||
} else {
|
} else {
|
||||||
tsdbCommitCompact(pCompactor);
|
tsdbFSPrepareCommit(pTsdb, &pCompactor->fs);
|
||||||
}
|
}
|
||||||
tsdbEndCompact(pCompactor);
|
tsdbEndCompact(pCompactor);
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int32_t tsdbCommitCompact(STsdb *pTsdb) {
|
||||||
|
int32_t code = 0;
|
||||||
|
int32_t lino = 0;
|
||||||
|
|
||||||
|
taosThreadRwlockWrlock(&pTsdb->rwLock);
|
||||||
|
|
||||||
|
code = tsdbFSCommit(pTsdb);
|
||||||
|
if (code) {
|
||||||
|
taosThreadRwlockUnlock(&pTsdb->rwLock);
|
||||||
|
TSDB_CHECK_CODE(code, lino, _exit);
|
||||||
|
}
|
||||||
|
|
||||||
|
taosThreadRwlockUnlock(&pTsdb->rwLock);
|
||||||
|
|
||||||
|
_exit:
|
||||||
|
if (code) {
|
||||||
|
tsdbError("vgId:%d %s failed at line %d since %s", TD_VID(pTsdb->pVnode), __func__, lino, tstrerror(code));
|
||||||
|
} else {
|
||||||
|
tsdbInfo("vgId:%d %s done", TD_VID(pTsdb->pVnode), __func__);
|
||||||
|
}
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
|
@ -15,6 +15,8 @@
|
||||||
|
|
||||||
#include "vnd.h"
|
#include "vnd.h"
|
||||||
|
|
||||||
|
extern int32_t tsdbCommitCompact(STsdb *pTsdb);
|
||||||
|
|
||||||
static int32_t vnodeCompactTask(void *param) {
|
static int32_t vnodeCompactTask(void *param) {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
int32_t lino = 0;
|
int32_t lino = 0;
|
||||||
|
@ -33,8 +35,11 @@ static int32_t vnodeCompactTask(void *param) {
|
||||||
} else {
|
} else {
|
||||||
snprintf(dir, TSDB_FILENAME_LEN, "%s", pVnode->path);
|
snprintf(dir, TSDB_FILENAME_LEN, "%s", pVnode->path);
|
||||||
}
|
}
|
||||||
|
|
||||||
vnodeCommitInfo(dir);
|
vnodeCommitInfo(dir);
|
||||||
|
|
||||||
|
tsdbCommitCompact(pVnode->pTsdb);
|
||||||
|
|
||||||
_exit:
|
_exit:
|
||||||
tsem_post(&pInfo->pVnode->canCommit);
|
tsem_post(&pInfo->pVnode->canCommit);
|
||||||
taosMemoryFree(pInfo);
|
taosMemoryFree(pInfo);
|
||||||
|
|
Loading…
Reference in New Issue