chore: more check
This commit is contained in:
parent
7c85f7701d
commit
30f8c9c79e
|
@ -244,7 +244,7 @@ const char* blockDecode(SSDataBlock* pBlock, const char* pData);
|
||||||
char* dumpBlockData(SSDataBlock* pDataBlock, const char* flag, char** dumpBuf);
|
char* dumpBlockData(SSDataBlock* pDataBlock, const char* flag, char** dumpBuf);
|
||||||
|
|
||||||
int32_t buildSubmitReqFromDataBlock(SSubmitReq2** pReq, const SSDataBlock* pDataBlocks, const STSchema* pTSchema, int64_t uid, int32_t vgId,
|
int32_t buildSubmitReqFromDataBlock(SSubmitReq2** pReq, const SSDataBlock* pDataBlocks, const STSchema* pTSchema, int64_t uid, int32_t vgId,
|
||||||
tb_uid_t suid, int64_t blkVer, const char* tag);
|
tb_uid_t suid, int64_t blkVer, int8_t level, const char* tag);
|
||||||
|
|
||||||
char* buildCtbNameByGroupId(const char* stbName, uint64_t groupId);
|
char* buildCtbNameByGroupId(const char* stbName, uint64_t groupId);
|
||||||
int32_t buildCtbNameByGroupIdImpl(const char* stbName, uint64_t groupId, char* pBuf);
|
int32_t buildCtbNameByGroupIdImpl(const char* stbName, uint64_t groupId, char* pBuf);
|
||||||
|
|
|
@ -1876,27 +1876,28 @@ static SHashObj* dupCheck = NULL;
|
||||||
static int8_t dupInit = 0;
|
static int8_t dupInit = 0;
|
||||||
|
|
||||||
int32_t buildSubmitReqFromDataBlock(SSubmitReq2** ppReq, const SSDataBlock* pDataBlock, const STSchema* pTSchema,
|
int32_t buildSubmitReqFromDataBlock(SSubmitReq2** ppReq, const SSDataBlock* pDataBlock, const STSchema* pTSchema,
|
||||||
int64_t uid, int32_t vgId, tb_uid_t suid, int64_t blkVer, const char* tag) {
|
int64_t uid, int32_t vgId, tb_uid_t suid, int64_t blkVer, int8_t level,
|
||||||
|
const char* tag) {
|
||||||
SSubmitReq2* pReq = *ppReq;
|
SSubmitReq2* pReq = *ppReq;
|
||||||
SArray* pVals = NULL;
|
SArray* pVals = NULL;
|
||||||
int32_t numOfBlks = 0;
|
int32_t numOfBlks = 0;
|
||||||
int32_t sz = 1;
|
int32_t sz = 1;
|
||||||
|
|
||||||
if (!dupCheck) {
|
// if (!dupCheck) {
|
||||||
if (0 == atomic_val_compare_exchange_8(&dupInit, 0, 1)) {
|
// if (0 == atomic_val_compare_exchange_8(&dupInit, 0, 1)) {
|
||||||
dupCheck = taosHashInit(32, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BINARY), false, HASH_ENTRY_LOCK);
|
// dupCheck = taosHashInit(32, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BINARY), false, HASH_ENTRY_LOCK);
|
||||||
if (!dupCheck) ASSERT(0);
|
// if (!dupCheck) ASSERT(0);
|
||||||
} else {
|
// } else {
|
||||||
int32_t cnt = 0;
|
// int32_t cnt = 0;
|
||||||
while (!dupCheck) {
|
// while (!dupCheck) {
|
||||||
++cnt;
|
// ++cnt;
|
||||||
if (cnt > 1000) {
|
// if (cnt > 1000) {
|
||||||
sched_yield();
|
// sched_yield();
|
||||||
cnt = 0;
|
// cnt = 0;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
terrno = TSDB_CODE_SUCCESS;
|
terrno = TSDB_CODE_SUCCESS;
|
||||||
|
|
||||||
|
@ -1911,7 +1912,7 @@ int32_t buildSubmitReqFromDataBlock(SSubmitReq2** ppReq, const SSDataBlock* pDat
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
char dupKey[50];
|
char dupKey[70];
|
||||||
|
|
||||||
for (int32_t i = 0; i < sz; ++i) {
|
for (int32_t i = 0; i < sz; ++i) {
|
||||||
int32_t colNum = taosArrayGetSize(pDataBlock->pDataBlock);
|
int32_t colNum = taosArrayGetSize(pDataBlock->pDataBlock);
|
||||||
|
@ -1957,10 +1958,11 @@ int32_t buildSubmitReqFromDataBlock(SSubmitReq2** ppReq, const SSDataBlock* pDat
|
||||||
ASSERT(PRIMARYKEY_TIMESTAMP_COL_ID == pCol->colId);
|
ASSERT(PRIMARYKEY_TIMESTAMP_COL_ID == pCol->colId);
|
||||||
SColVal cv = COL_VAL_VALUE(pCol->colId, pCol->type, (SValue){.val = *(TSKEY*)var});
|
SColVal cv = COL_VAL_VALUE(pCol->colId, pCol->type, (SValue){.val = *(TSKEY*)var});
|
||||||
taosArrayPush(pVals, &cv);
|
taosArrayPush(pVals, &cv);
|
||||||
snprintf(dupKey, 50, "%d:%" PRIi64 ":%" PRIi64, vgId, *(TSKEY*)var, blkVer);
|
snprintf(dupKey, 70, "%" PRIi8 ":%d:%" PRIi64 ":%" PRIi64 ":%" PRIi64, level, vgId, uid, *(TSKEY*)var,
|
||||||
|
blkVer);
|
||||||
uInfo("%s:%d key:ver: %s, tags: %s", __func__, __LINE__, dupKey, tag);
|
uInfo("%s:%d key:ver: %s, tags: %s", __func__, __LINE__, dupKey, tag);
|
||||||
int32_t dupKeyLen = strlen(dupKey);
|
int32_t dupKeyLen = strlen(dupKey);
|
||||||
assert(dupKeyLen < 50);
|
assert(dupKeyLen < 70);
|
||||||
void* hashKey = NULL;
|
void* hashKey = NULL;
|
||||||
if ((hashKey = taosHashGet(dupCheck, &dupKey, dupKeyLen + 1))) {
|
if ((hashKey = taosHashGet(dupCheck, &dupKey, dupKeyLen + 1))) {
|
||||||
ASSERT(0);
|
ASSERT(0);
|
||||||
|
|
|
@ -621,7 +621,7 @@ static int32_t tdRSmaExecAndSubmitResult(SSma *pSma, qTaskInfo_t taskInfo, SRSma
|
||||||
|
|
||||||
// TODO: the schema update should be handled later(TD-17965)
|
// TODO: the schema update should be handled later(TD-17965)
|
||||||
if (buildSubmitReqFromDataBlock(&pReq, output, pTSchema, output->info.id.groupId, SMA_VID(pSma), suid,
|
if (buildSubmitReqFromDataBlock(&pReq, output, pTSchema, output->info.id.groupId, SMA_VID(pSma), suid,
|
||||||
output->info.version, tag) < 0) {
|
output->info.version, pItem->level, tag) < 0) {
|
||||||
code = terrno ? terrno : TSDB_CODE_RSMA_RESULT;
|
code = terrno ? terrno : TSDB_CODE_RSMA_RESULT;
|
||||||
TSDB_CHECK_CODE(code, lino, _exit);
|
TSDB_CHECK_CODE(code, lino, _exit);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue