fix more
This commit is contained in:
parent
189058e7df
commit
f447556178
|
@ -1225,7 +1225,8 @@ static void tsdbScanAndTryFixDFilesHeader(STsdbRepo *pRepo) {
|
|||
for (TSDB_FILE_T ftype = 0; ftype < TSDB_FILE_MAX; ftype++) {
|
||||
SDFile *pDFile = TSDB_DFILE_IN_SET(&fset, ftype);
|
||||
|
||||
if (tsdbLoadDFileHeader(pDFile, &info) < 0 || memcmp(&(pDFile->info), &info, sizeof(info)) != 0) {
|
||||
if ((tsdbLoadDFileHeader(pDFile, &info) < 0) || pDFile->info.size != info.size ||
|
||||
pDFile->info.magic != info.magic) {
|
||||
if (tsdbUpdateDFileHeader(pDFile) < 0) {
|
||||
tsdbError("vgId:%d failed to update DFile header of %s since %s, continue", REPO_ID(pRepo),
|
||||
TSDB_FILE_FULL_NAME(pDFile), tstrerror(terrno));
|
||||
|
|
|
@ -567,6 +567,7 @@ void tsdbInitDFileSet(SDFileSet *pSet, SDiskID did, int vid, int fid, uint32_t v
|
|||
}
|
||||
|
||||
void tsdbInitDFileSetEx(SDFileSet *pSet, SDFileSet *pOSet) {
|
||||
pSet->fid = pOSet->fid;
|
||||
for (TSDB_FILE_T ftype = 0; ftype < TSDB_FILE_MAX; ftype++) {
|
||||
tsdbInitDFileEx(TSDB_DFILE_IN_SET(pSet, ftype), TSDB_DFILE_IN_SET(pOSet, ftype));
|
||||
}
|
||||
|
|
|
@ -917,7 +917,9 @@ static int32_t loadBlockInfo(STsdbQueryHandle * pQueryHandle, int32_t index, int
|
|||
pCheckInfo->compSize = compIndex->len;
|
||||
}
|
||||
|
||||
tsdbLoadBlockInfo(&(pQueryHandle->rhelper), (void*)(pCheckInfo->pCompInfo));
|
||||
if (tsdbLoadBlockInfo(&(pQueryHandle->rhelper), (void*)(pCheckInfo->pCompInfo)) < 0) {
|
||||
return terrno;
|
||||
}
|
||||
SBlockInfo* pCompInfo = pCheckInfo->pCompInfo;
|
||||
|
||||
TSKEY s = TSKEY_INITIAL_VAL, e = TSKEY_INITIAL_VAL;
|
||||
|
@ -2832,7 +2834,9 @@ int32_t tsdbRetrieveDataBlockStatisInfo(TsdbQueryHandleT* pQueryHandle, SDataSta
|
|||
}
|
||||
|
||||
int64_t stime = taosGetTimestampUs();
|
||||
tsdbLoadBlockStatis(&pHandle->rhelper, pBlockInfo->compBlock);
|
||||
if (tsdbLoadBlockStatis(&pHandle->rhelper, pBlockInfo->compBlock) < 0) {
|
||||
return terrno;
|
||||
}
|
||||
|
||||
int16_t* colIds = pHandle->defaultLoadColumn->pData;
|
||||
|
||||
|
|
|
@ -194,8 +194,8 @@ static int32_t tsdbSyncRecvMeta(SSyncH *pSynch) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (pLMFile == NULL || memcmp(&(pSynch->pmf->info), &(pLMFile->info), sizeof(SMFInfo)) != 0 ||
|
||||
TSDB_FILE_IS_BAD(pLMFile)) {
|
||||
if (pLMFile == NULL || pSynch->pmf->info.size != pLMFile->info.size ||
|
||||
pSynch->pmf->info.magic != pLMFile->info.magic || TSDB_FILE_IS_BAD(pLMFile)) {
|
||||
// Local has no meta file or has a different meta file, need to copy from remote
|
||||
pSynch->mfChanged = true;
|
||||
|
||||
|
@ -536,7 +536,7 @@ static bool tsdbIsTowFSetSame(SDFileSet *pSet1, SDFileSet *pSet2) {
|
|||
SDFile *pDFile1 = TSDB_DFILE_IN_SET(pSet1, ftype);
|
||||
SDFile *pDFile2 = TSDB_DFILE_IN_SET(pSet2, ftype);
|
||||
|
||||
if (memcmp((void *)(TSDB_FILE_INFO(pDFile1)), (void *)(TSDB_FILE_INFO(pDFile2)), sizeof(SDFInfo)) != 0) {
|
||||
if (pDFile1->info.size != pDFile2->info.size || pDFile1->info.magic != pDFile2->info.magic) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,135 @@
|
|||
system sh/stop_dnodes.sh
|
||||
|
||||
system sh/deploy.sh -n dnode1 -i 1
|
||||
system sh/deploy.sh -n dnode2 -i 2
|
||||
system sh/deploy.sh -n dnode3 -i 3
|
||||
system sh/deploy.sh -n dnode4 -i 4
|
||||
|
||||
system sh/cfg.sh -n dnode1 -c balanceInterval -v 10
|
||||
system sh/cfg.sh -n dnode2 -c balanceInterval -v 10
|
||||
system sh/cfg.sh -n dnode3 -c balanceInterval -v 10
|
||||
system sh/cfg.sh -n dnode4 -c balanceInterval -v 10
|
||||
|
||||
system sh/cfg.sh -n dnode1 -c mnodeEqualVnodeNum -v 4
|
||||
system sh/cfg.sh -n dnode2 -c mnodeEqualVnodeNum -v 4
|
||||
system sh/cfg.sh -n dnode3 -c mnodeEqualVnodeNum -v 4
|
||||
system sh/cfg.sh -n dnode4 -c mnodeEqualVnodeNum -v 4
|
||||
|
||||
system sh/cfg.sh -n dnode1 -c wallevel -v 2
|
||||
system sh/cfg.sh -n dnode2 -c wallevel -v 2
|
||||
system sh/cfg.sh -n dnode3 -c wallevel -v 2
|
||||
system sh/cfg.sh -n dnode4 -c wallevel -v 2
|
||||
|
||||
print ========== step1
|
||||
system sh/exec.sh -n dnode1 -s start
|
||||
sql connect
|
||||
sleep 2000
|
||||
|
||||
print ========== step2
|
||||
sql create dnode $hostname2
|
||||
system sh/exec.sh -n dnode2 -s start
|
||||
sql create dnode $hostname3
|
||||
system sh/exec.sh -n dnode3 -s start
|
||||
|
||||
$x = 0
|
||||
show2:
|
||||
$x = $x + 1
|
||||
sleep 2000
|
||||
if $x == 10 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
sql show dnodes
|
||||
print dnode1 openVnodes $data2_1
|
||||
print dnode2 openVnodes $data2_2
|
||||
print dnode3 openVnodes $data2_3
|
||||
if $data2_1 != 0 then
|
||||
goto show2
|
||||
endi
|
||||
if $data2_2 != 0 then
|
||||
goto show2
|
||||
endi
|
||||
if $data2_3 != 0 then
|
||||
goto show2
|
||||
endi
|
||||
|
||||
print ========== step3
|
||||
sql create database d1 days 1 replica 2
|
||||
sql create table d1.t1 (t timestamp, i int)
|
||||
sql insert into d1.t1 values(1591160480000, 25)
|
||||
sql insert into d1.t1 values(1591160480002, 24)
|
||||
sql insert into d1.t1 values(1591160480003, 23)
|
||||
sql insert into d1.t1 values(1591160480004, 22)
|
||||
sql insert into d1.t1 values(1591160480005, 21)
|
||||
|
||||
sql insert into d1.t1 values(1591260480000, 35)
|
||||
sql insert into d1.t1 values(1591260480002, 34)
|
||||
sql insert into d1.t1 values(1591260480003, 33)
|
||||
sql insert into d1.t1 values(1591260480004, 32)
|
||||
sql insert into d1.t1 values(1591260480005, 31)
|
||||
|
||||
sql insert into d1.t1 values(1591360480000, 45)
|
||||
sql insert into d1.t1 values(1591360480002, 44)
|
||||
sql insert into d1.t1 values(1591360480003, 43)
|
||||
sql insert into d1.t1 values(1591360480004, 42)
|
||||
sql insert into d1.t1 values(1591360480005, 41)
|
||||
|
||||
sql insert into d1.t1 values(1591460480000, 55)
|
||||
sql insert into d1.t1 values(1591460480002, 54)
|
||||
sql insert into d1.t1 values(1591460480003, 53)
|
||||
sql insert into d1.t1 values(1591460480004, 52)
|
||||
sql insert into d1.t1 values(1591460480005, 51)
|
||||
|
||||
sql insert into d1.t1 values(1591560480000, 65)
|
||||
sql insert into d1.t1 values(1591560480002, 64)
|
||||
sql insert into d1.t1 values(1591560480003, 63)
|
||||
sql insert into d1.t1 values(1591560480004, 62)
|
||||
sql insert into d1.t1 values(1591560480005, 61)
|
||||
|
||||
sql insert into d1.t1 values(1591660480000, 75)
|
||||
sql insert into d1.t1 values(1591660480002, 74)
|
||||
sql insert into d1.t1 values(1591660480003, 73)
|
||||
sql insert into d1.t1 values(1591660480004, 72)
|
||||
sql insert into d1.t1 values(1591660480005, 71)
|
||||
|
||||
$x = 0
|
||||
show3:
|
||||
$x = $x + 1
|
||||
sleep 2000
|
||||
if $x == 10 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
sql show dnodes
|
||||
print dnode1 openVnodes $data2_1
|
||||
print dnode2 openVnodes $data2_2
|
||||
print dnode3 openVnodes $data2_3
|
||||
if $data2_1 != 0 then
|
||||
goto show3
|
||||
endi
|
||||
if $data2_2 != 1 then
|
||||
goto show3
|
||||
endi
|
||||
if $data2_3 != 1 then
|
||||
goto show3
|
||||
endi
|
||||
|
||||
sleep 3000
|
||||
|
||||
print ========== step4
|
||||
system sh/exec.sh -n dnode2 -s stop -x SIGINT
|
||||
system sh/exec.sh -n dnode3 -s stop -x SIGINT
|
||||
|
||||
print ========== step5
|
||||
system_content rm -rf ../../../sim/dnode3/data/vnode/vnode2/tsdb/data/v2f18418.*
|
||||
|
||||
print ========== step6
|
||||
system sh/exec.sh -n dnode2 -s start
|
||||
system sh/exec.sh -n dnode3 -s start
|
||||
|
||||
return
|
||||
|
||||
# print ========== step7
|
||||
# system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||
# system sh/exec.sh -n dnode2 -s stop -x SIGINT
|
||||
# system sh/exec.sh -n dnode3 -s stop -x SIGINT
|
Loading…
Reference in New Issue