提交 cc6a070f 编写于 作者: A Alex Duan

feat(tsdb): fixed pDCols->maxCols by copy from src

[TS-238]
上级 8fbbaf03
...@@ -133,13 +133,15 @@ static int tsdbDeleteImplCommon(STsdbRepo *pRepo, SControlDataInfo* pCtlInfo) { ...@@ -133,13 +133,15 @@ static int tsdbDeleteImplCommon(STsdbRepo *pRepo, SControlDataInfo* pCtlInfo) {
// start transaction // start transaction
tsdbStartDeleteTrans(pRepo); tsdbStartDeleteTrans(pRepo);
if (tsdbDeleteMeta(pRepo) < 0) { int32_t ret = tsdbDeleteMeta(pRepo);
tsdbError("vgId:%d :SDEL failed to delete META data since %s", REPO_ID(pRepo), tstrerror(terrno)); if (ret != TSDB_CODE_SUCCESS) {
tsdbError("vgId:%d :SDEL failed errcode=%d to delete META data since %s", REPO_ID(pRepo), ret, tstrerror(terrno));
goto _err; goto _err;
} }
if (tsdbDeleteTSData(pRepo, pCtlInfo, aUpdates, affectedTables) < 0) { ret = tsdbDeleteTSData(pRepo, pCtlInfo, aUpdates, affectedTables);
tsdbError("vgId:%d :SDEL failed to delete TS data since %s", REPO_ID(pRepo), tstrerror(terrno)); if (ret != TSDB_CODE_SUCCESS) {
tsdbError("vgId:%d :SDEL failed to delete TS data errcode=%d since %s", REPO_ID(pRepo), ret, tstrerror(terrno));
goto _err; goto _err;
} }
...@@ -161,11 +163,12 @@ static int tsdbDeleteImplCommon(STsdbRepo *pRepo, SControlDataInfo* pCtlInfo) { ...@@ -161,11 +163,12 @@ static int tsdbDeleteImplCommon(STsdbRepo *pRepo, SControlDataInfo* pCtlInfo) {
return TSDB_CODE_SUCCESS; return TSDB_CODE_SUCCESS;
_err: _err:
pRepo->code = terrno; pRepo->code = ret;
tsdbEndDeleteTrans(pRepo, terrno); tsdbEndDeleteTrans(pRepo, ret);
tsdbClearUpdates(aUpdates); tsdbClearUpdates(aUpdates);
taosArrayDestroy(&affectedTables); taosArrayDestroy(&affectedTables);
return -1; return TSDB_CODE_SUCCESS; // other error needn't call appH.notifyStatus to notify error
//return ret;
} }
static void tsdbStartDeleteTrans(STsdbRepo *pRepo) { static void tsdbStartDeleteTrans(STsdbRepo *pRepo) {
...@@ -202,7 +205,10 @@ static int tsdbDeleteTSData(STsdbRepo *pRepo, SControlDataInfo* pCtlInfo, SArray ...@@ -202,7 +205,10 @@ static int tsdbDeleteTSData(STsdbRepo *pRepo, SControlDataInfo* pCtlInfo, SArray
int sFid = TSDB_KEY_FID(win.skey, pCfg->daysPerFile, pCfg->precision); int sFid = TSDB_KEY_FID(win.skey, pCfg->daysPerFile, pCfg->precision);
int eFid = TSDB_KEY_FID(win.ekey, pCfg->daysPerFile, pCfg->precision); int eFid = TSDB_KEY_FID(win.ekey, pCfg->daysPerFile, pCfg->precision);
ASSERT(sFid <= eFid); if(sFid > eFid) {
tsdbDestroyDeleteH(&deleteH);
return -1;
}
while ((pSet = tsdbFSIterNext(&(deleteH.fsIter)))) { while ((pSet = tsdbFSIterNext(&(deleteH.fsIter)))) {
// remove expired files // remove expired files
...@@ -220,14 +226,6 @@ static int tsdbDeleteTSData(STsdbRepo *pRepo, SControlDataInfo* pCtlInfo, SArray ...@@ -220,14 +226,6 @@ static int tsdbDeleteTSData(STsdbRepo *pRepo, SControlDataInfo* pCtlInfo, SArray
continue; continue;
} }
#if 0 // TODO: How to make the decision? The test case should cover this scenario.
if (TSDB_FSET_LEVEL(pSet) == TFS_MAX_LEVEL) {
tsdbDebug("vgId:%d FSET %d on level %d, should not delete", REPO_ID(pRepo), pSet->fid, TFS_MAX_LEVEL);
tsdbUpdateDFileSet(REPO_FS(pRepo), pSet);
continue;
}
#endif
if (pCtlInfo->command & CMD_DELETE_DATA) { if (pCtlInfo->command & CMD_DELETE_DATA) {
if (tsdbFSetDelete(&deleteH, pSet) < 0) { if (tsdbFSetDelete(&deleteH, pSet) < 0) {
tsdbDestroyDeleteH(&deleteH); tsdbDestroyDeleteH(&deleteH);
...@@ -532,9 +530,6 @@ static int32_t tsdbFilterDataCols(SDeleteH *pdh, SDataCols *pSrcDCols) { ...@@ -532,9 +530,6 @@ static int32_t tsdbFilterDataCols(SDeleteH *pdh, SDataCols *pSrcDCols) {
int32_t delRows = 0; int32_t delRows = 0;
tdResetDataCols(pDstDCols); tdResetDataCols(pDstDCols);
pDstDCols->maxCols = pSrcDCols->maxCols;
pDstDCols->maxPoints = pSrcDCols->maxPoints;
pDstDCols->numOfCols = pSrcDCols->numOfCols;
pDstDCols->sversion = pSrcDCols->sversion; pDstDCols->sversion = pSrcDCols->sversion;
for (int i = 0; i < pSrcDCols->numOfRows; ++i) { for (int i = 0; i < pSrcDCols->numOfRows; ++i) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册