提交 90a96622 编写于 作者: C Cary Xu

[TS-784]<fix>: make sure keep1<=keep2<=keep in tsdb

上级 35f5fb25
...@@ -505,26 +505,46 @@ static int32_t tsdbCheckAndSetDefaultCfg(STsdbCfg *pCfg) { ...@@ -505,26 +505,46 @@ static int32_t tsdbCheckAndSetDefaultCfg(STsdbCfg *pCfg) {
} }
// Check keep // Check keep
if (pCfg->keep == -1) { #if 0 // already checked and set in mnodeSetDefaultDbCfg
pCfg->keep = TSDB_DEFAULT_KEEP; // if (pCfg->keep == -1) {
} else { // pCfg->keep = TSDB_DEFAULT_KEEP;
if (pCfg->keep < TSDB_MIN_KEEP || pCfg->keep > TSDB_MAX_KEEP) { // } else {
tsdbError( // if (pCfg->keep < TSDB_MIN_KEEP || pCfg->keep > TSDB_MAX_KEEP) {
"vgId:%d invalid keep configuration! keep %d TSDB_MIN_KEEP %d " // tsdbError(
"TSDB_MAX_KEEP %d", // "vgId:%d invalid keep configuration! keep %d TSDB_MIN_KEEP %d "
pCfg->tsdbId, pCfg->keep, TSDB_MIN_KEEP, TSDB_MAX_KEEP); // "TSDB_MAX_KEEP %d",
terrno = TSDB_CODE_TDB_INVALID_CONFIG; // pCfg->tsdbId, pCfg->keep, TSDB_MIN_KEEP, TSDB_MAX_KEEP);
return -1; // terrno = TSDB_CODE_TDB_INVALID_CONFIG;
// return -1;
// }
// }
// if (pCfg->keep1 == 0) {
// pCfg->keep1 = pCfg->keep;
// }
// if (pCfg->keep2 == 0) {
// pCfg->keep2 = pCfg->keep;
// }
#endif
int32_t keepMin = pCfg->keep1;
int32_t keepMid = pCfg->keep2;
int32_t keepMax = pCfg->keep;
if (keepMin > keepMid) {
SWAP(keepMin, keepMid, int32_t);
} }
if (keepMin > keepMax) {
SWAP(keepMin, keepMax, int32_t);
} }
if (keepMid > keepMax) {
if (pCfg->keep1 == 0) { SWAP(keepMid, keepMax, int32_t);
pCfg->keep1 = pCfg->keep;
} }
if (pCfg->keep2 == 0) { pCfg->keep = keepMax;
pCfg->keep2 = pCfg->keep; pCfg->keep1 = keepMin;
} pCfg->keep2 = keepMid;
// update check // update check
if (pCfg->update < TD_ROW_DISCARD_UPDATE || pCfg->update > TD_ROW_PARTIAL_UPDATE) if (pCfg->update < TD_ROW_DISCARD_UPDATE || pCfg->update > TD_ROW_PARTIAL_UPDATE)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册