Merge pull request #24279 from taosdata/FIX/TD-28106-3.0
fix: reuse cid with fs eid updated in tsdbFSetRAWWriteFileDataBegin
This commit is contained in:
commit
35e55df202
|
@ -805,6 +805,12 @@ int64_t tsdbFSAllocEid(STFileSystem *fs) {
|
||||||
return cid;
|
return cid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tsdbFSUpdateEid(STFileSystem *fs, int64_t cid) {
|
||||||
|
taosThreadMutexLock(&fs->tsdb->mutex);
|
||||||
|
fs->neid = TMAX(fs->neid, cid);
|
||||||
|
taosThreadMutexUnlock(&fs->tsdb->mutex);
|
||||||
|
}
|
||||||
|
|
||||||
int32_t tsdbFSEditBegin(STFileSystem *fs, const TFileOpArray *opArray, EFEditT etype) {
|
int32_t tsdbFSEditBegin(STFileSystem *fs, const TFileOpArray *opArray, EFEditT etype) {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
int32_t lino;
|
int32_t lino;
|
||||||
|
|
|
@ -52,6 +52,7 @@ int32_t tsdbFSCreateRefRangedSnapshot(STFileSystem *fs, int64_t sver, int64_t ev
|
||||||
int32_t tsdbFSDestroyRefRangedSnapshot(TFileSetRangeArray **fsrArr);
|
int32_t tsdbFSDestroyRefRangedSnapshot(TFileSetRangeArray **fsrArr);
|
||||||
// txn
|
// txn
|
||||||
int64_t tsdbFSAllocEid(STFileSystem *fs);
|
int64_t tsdbFSAllocEid(STFileSystem *fs);
|
||||||
|
void tsdbFSUpdateEid(STFileSystem *fs, int64_t cid);
|
||||||
int32_t tsdbFSEditBegin(STFileSystem *fs, const TFileOpArray *opArray, EFEditT etype);
|
int32_t tsdbFSEditBegin(STFileSystem *fs, const TFileOpArray *opArray, EFEditT etype);
|
||||||
int32_t tsdbFSEditCommit(STFileSystem *fs);
|
int32_t tsdbFSEditCommit(STFileSystem *fs);
|
||||||
int32_t tsdbFSEditAbort(STFileSystem *fs);
|
int32_t tsdbFSEditAbort(STFileSystem *fs);
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "tsdbFSetRAW.h"
|
#include "tsdbFSetRAW.h"
|
||||||
|
#include "tsdbFS2.h"
|
||||||
|
|
||||||
// SFSetRAWWriter ==================================================
|
// SFSetRAWWriter ==================================================
|
||||||
typedef struct SFSetRAWWriter {
|
typedef struct SFSetRAWWriter {
|
||||||
|
@ -76,7 +77,7 @@ static int32_t tsdbFSetRAWWriteFileDataBegin(SFSetRAWWriter *writer, STsdbDataRA
|
||||||
.szPage = writer->config->szPage,
|
.szPage = writer->config->szPage,
|
||||||
.fid = bHdr->file.fid,
|
.fid = bHdr->file.fid,
|
||||||
.did = writer->config->did,
|
.did = writer->config->did,
|
||||||
.cid = writer->config->cid,
|
.cid = bHdr->file.cid,
|
||||||
.level = writer->config->level,
|
.level = writer->config->level,
|
||||||
|
|
||||||
.file =
|
.file =
|
||||||
|
@ -84,7 +85,7 @@ static int32_t tsdbFSetRAWWriteFileDataBegin(SFSetRAWWriter *writer, STsdbDataRA
|
||||||
.type = bHdr->file.type,
|
.type = bHdr->file.type,
|
||||||
.fid = bHdr->file.fid,
|
.fid = bHdr->file.fid,
|
||||||
.did = writer->config->did,
|
.did = writer->config->did,
|
||||||
.cid = writer->config->cid,
|
.cid = bHdr->file.cid,
|
||||||
.size = bHdr->file.size,
|
.size = bHdr->file.size,
|
||||||
.minVer = bHdr->file.minVer,
|
.minVer = bHdr->file.minVer,
|
||||||
.maxVer = bHdr->file.maxVer,
|
.maxVer = bHdr->file.maxVer,
|
||||||
|
@ -94,6 +95,7 @@ static int32_t tsdbFSetRAWWriteFileDataBegin(SFSetRAWWriter *writer, STsdbDataRA
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
tsdbFSUpdateEid(config.tsdb->pFS, config.cid);
|
||||||
writer->ctx->offset = 0;
|
writer->ctx->offset = 0;
|
||||||
writer->ctx->file = config.file;
|
writer->ctx->file = config.file;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue