commit
49c70a8489
|
@ -663,10 +663,17 @@ static int32_t sdbProcessWrite(void *wparam, void *hparam, int32_t qtype, void *
|
||||||
pTable->name, actStr[action], sdbGetKeyStr(pTable, pHead->cont), qtype, pHead->version, tsSdbMgmt.version);
|
pTable->name, actStr[action], sdbGetKeyStr(pTable, pHead->cont), qtype, pHead->version, tsSdbMgmt.version);
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
} else if (pHead->version != tsSdbMgmt.version + 1) {
|
} else if (pHead->version != tsSdbMgmt.version + 1) {
|
||||||
pthread_mutex_unlock(&tsSdbMgmt.mutex);
|
if (qtype != TAOS_QTYPE_WAL) {
|
||||||
sdbError("vgId:1, sdb:%s, failed to restore %s key:%s from source(%d), hver:%" PRIu64 " too large, mver:%" PRIu64,
|
pthread_mutex_unlock(&tsSdbMgmt.mutex);
|
||||||
pTable->name, actStr[action], sdbGetKeyStr(pTable, pHead->cont), qtype, pHead->version, tsSdbMgmt.version);
|
sdbError(
|
||||||
return TSDB_CODE_SYN_INVALID_VERSION;
|
"vgId:1, sdb:%s, failed to restore %s key:%s from source(%d), hver:%" PRIu64 " too large, mver:%" PRIu64,
|
||||||
|
pTable->name, actStr[action], sdbGetKeyStr(pTable, pHead->cont), qtype, pHead->version, tsSdbMgmt.version);
|
||||||
|
return TSDB_CODE_SYN_INVALID_VERSION;
|
||||||
|
} else {
|
||||||
|
// If cksum is wrong when recovering wal, use this code
|
||||||
|
tsSdbMgmt.version = pHead->version;
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
tsSdbMgmt.version = pHead->version;
|
tsSdbMgmt.version = pHead->version;
|
||||||
}
|
}
|
||||||
|
|
|
@ -346,7 +346,7 @@ static int32_t walRestoreWalFile(SWal *pWal, void *pVnode, FWalWrite writeFp, ch
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(WAL_CHECKSUM_WHOLE)
|
#if defined(WAL_CHECKSUM_WHOLE)
|
||||||
if (pHead->sver == 0 && !walValidateChecksum(pHead)) {
|
if ((pHead->sver == 0 && !walValidateChecksum(pHead)) || pHead->sver < 0 || pHead->sver > 1) {
|
||||||
wError("vgId:%d, file:%s, wal head cksum is messed up, hver:%" PRIu64 " len:%d offset:%" PRId64, pWal->vgId, name,
|
wError("vgId:%d, file:%s, wal head cksum is messed up, hver:%" PRIu64 " len:%d offset:%" PRId64, pWal->vgId, name,
|
||||||
pHead->version, pHead->len, offset);
|
pHead->version, pHead->len, offset);
|
||||||
code = walSkipCorruptedRecord(pWal, pHead, tfd, &offset);
|
code = walSkipCorruptedRecord(pWal, pHead, tfd, &offset);
|
||||||
|
|
Loading…
Reference in New Issue