tsdb/commit2: fix commit minKey for del
This commit is contained in:
parent
8a2764c698
commit
fe495f7013
|
@ -198,9 +198,6 @@ static int32_t tsdbCommitTombData(SCommitter2 *committer) {
|
||||||
|
|
||||||
if (record->ekey > committer->ctx->maxKey && committer->ctx->nextKey > maxKey) {
|
if (record->ekey > committer->ctx->maxKey && committer->ctx->nextKey > maxKey) {
|
||||||
committer->ctx->nextKey = maxKey;
|
committer->ctx->nextKey = maxKey;
|
||||||
if (record->ekey < TSKEY_MAX) {
|
|
||||||
committer->ctx->maxDelKey = record->ekey;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
record->skey = TMAX(record->skey, committer->ctx->minKey);
|
record->skey = TMAX(record->skey, committer->ctx->minKey);
|
||||||
|
@ -472,13 +469,6 @@ static int32_t tsdbOpenCommitter(STsdb *tsdb, SCommitInfo *info, SCommitter2 *co
|
||||||
committer->ctx->cid = tsdbFSAllocEid(tsdb->pFS);
|
committer->ctx->cid = tsdbFSAllocEid(tsdb->pFS);
|
||||||
committer->ctx->now = taosGetTimestampSec();
|
committer->ctx->now = taosGetTimestampSec();
|
||||||
|
|
||||||
committer->ctx->maxDelKey = TSKEY_MIN;
|
|
||||||
if (TARRAY2_SIZE(committer->fsetArr) > 0) {
|
|
||||||
STFileSet *fset = TARRAY2_LAST(committer->fsetArr);
|
|
||||||
TSKEY minKey;
|
|
||||||
tsdbFidKeyRange(fset->fid, committer->minutes, committer->precision, &minKey, &committer->ctx->maxDelKey);
|
|
||||||
}
|
|
||||||
|
|
||||||
committer->ctx->nextKey = tsdb->imem->minKey;
|
committer->ctx->nextKey = tsdb->imem->minKey;
|
||||||
if (tsdb->imem->nDel > 0) {
|
if (tsdb->imem->nDel > 0) {
|
||||||
SRBTreeIter iter[1] = {tRBTreeIterCreate(tsdb->imem->tbDataTree, 1)};
|
SRBTreeIter iter[1] = {tRBTreeIterCreate(tsdb->imem->tbDataTree, 1)};
|
||||||
|
@ -494,6 +484,21 @@ static int32_t tsdbOpenCommitter(STsdb *tsdb, SCommitInfo *info, SCommitter2 *co
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
committer->ctx->maxDelKey = TSKEY_MIN;
|
||||||
|
TSKEY minKey = TSKEY_MAX;
|
||||||
|
TSKEY maxKey = TSKEY_MIN;
|
||||||
|
if (TARRAY2_SIZE(committer->fsetArr) > 0) {
|
||||||
|
STFileSet *fset = TARRAY2_LAST(committer->fsetArr);
|
||||||
|
tsdbFidKeyRange(fset->fid, committer->minutes, committer->precision, &minKey, &committer->ctx->maxDelKey);
|
||||||
|
|
||||||
|
fset = TARRAY2_FIRST(committer->fsetArr);
|
||||||
|
tsdbFidKeyRange(fset->fid, committer->minutes, committer->precision, &minKey, &maxKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (committer->ctx->nextKey < TMIN(tsdb->imem->minKey, minKey)) {
|
||||||
|
committer->ctx->nextKey = TMIN(tsdb->imem->minKey, minKey);
|
||||||
|
}
|
||||||
|
|
||||||
_exit:
|
_exit:
|
||||||
if (code) {
|
if (code) {
|
||||||
TSDB_ERROR_LOG(TD_VID(tsdb->pVnode), lino, code);
|
TSDB_ERROR_LOG(TD_VID(tsdb->pVnode), lino, code);
|
||||||
|
|
Loading…
Reference in New Issue