add test for new heartbeat
This commit is contained in:
parent
aa9a5b6f67
commit
2e40293b4d
|
@ -51,10 +51,14 @@ SClientHbBatchReq* hbGatherAllInfo(SAppHbMgr *pAppHbMgr) {
|
||||||
int32_t connKeyCnt = atomic_load_32(&pAppHbMgr->connKeyCnt);
|
int32_t connKeyCnt = atomic_load_32(&pAppHbMgr->connKeyCnt);
|
||||||
pBatchReq->reqs = taosArrayInit(connKeyCnt, sizeof(SClientHbReq));
|
pBatchReq->reqs = taosArrayInit(connKeyCnt, sizeof(SClientHbReq));
|
||||||
|
|
||||||
|
if (pAppHbMgr->activeInfo == NULL) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
void *pIter = taosHashIterate(pAppHbMgr->activeInfo, NULL);
|
void *pIter = taosHashIterate(pAppHbMgr->activeInfo, NULL);
|
||||||
while (pIter != NULL) {
|
while (pIter != NULL) {
|
||||||
taosArrayPush(pBatchReq->reqs, pIter);
|
|
||||||
SClientHbReq* pOneReq = pIter;
|
SClientHbReq* pOneReq = pIter;
|
||||||
|
taosArrayPush(pBatchReq->reqs, pOneReq);
|
||||||
taosHashClear(pOneReq->info);
|
taosHashClear(pOneReq->info);
|
||||||
|
|
||||||
pIter = taosHashIterate(pAppHbMgr->activeInfo, pIter);
|
pIter = taosHashIterate(pAppHbMgr->activeInfo, pIter);
|
||||||
|
@ -84,7 +88,14 @@ static void* hbThreadFunc(void* param) {
|
||||||
int sz = taosArrayGetSize(clientHbMgr.appHbMgrs);
|
int sz = taosArrayGetSize(clientHbMgr.appHbMgrs);
|
||||||
for(int i = 0; i < sz; i++) {
|
for(int i = 0; i < sz; i++) {
|
||||||
SAppHbMgr* pAppHbMgr = taosArrayGet(clientHbMgr.appHbMgrs, i);
|
SAppHbMgr* pAppHbMgr = taosArrayGet(clientHbMgr.appHbMgrs, i);
|
||||||
|
int32_t connCnt = atomic_load_32(&pAppHbMgr->connKeyCnt);
|
||||||
|
if (connCnt == 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
SClientHbBatchReq* pReq = hbGatherAllInfo(pAppHbMgr);
|
SClientHbBatchReq* pReq = hbGatherAllInfo(pAppHbMgr);
|
||||||
|
if (pReq == NULL) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
int tlen = tSerializeSClientHbBatchReq(NULL, pReq);
|
int tlen = tSerializeSClientHbBatchReq(NULL, pReq);
|
||||||
void *buf = malloc(tlen);
|
void *buf = malloc(tlen);
|
||||||
if (buf == NULL) {
|
if (buf == NULL) {
|
||||||
|
@ -146,10 +157,22 @@ SAppHbMgr* appHbMgrInit(SAppInstInfo* pAppInstInfo) {
|
||||||
|
|
||||||
// init hash info
|
// init hash info
|
||||||
pAppHbMgr->activeInfo = taosHashInit(64, hbKeyHashFunc, 1, HASH_ENTRY_LOCK);
|
pAppHbMgr->activeInfo = taosHashInit(64, hbKeyHashFunc, 1, HASH_ENTRY_LOCK);
|
||||||
|
|
||||||
|
if (pAppHbMgr->activeInfo == NULL) {
|
||||||
|
terrno = TSDB_CODE_OUT_OF_MEMORY;
|
||||||
|
free(pAppHbMgr);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
pAppHbMgr->activeInfo->freeFp = tFreeClientHbReq;
|
pAppHbMgr->activeInfo->freeFp = tFreeClientHbReq;
|
||||||
// init getInfoFunc
|
// init getInfoFunc
|
||||||
pAppHbMgr->getInfoFuncs = taosHashInit(64, hbKeyHashFunc, 1, HASH_ENTRY_LOCK);
|
pAppHbMgr->getInfoFuncs = taosHashInit(64, hbKeyHashFunc, 1, HASH_ENTRY_LOCK);
|
||||||
|
|
||||||
|
if (pAppHbMgr->getInfoFuncs == NULL) {
|
||||||
|
terrno = TSDB_CODE_OUT_OF_MEMORY;
|
||||||
|
free(pAppHbMgr);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
taosArrayPush(clientHbMgr.appHbMgrs, &pAppHbMgr);
|
taosArrayPush(clientHbMgr.appHbMgrs, &pAppHbMgr);
|
||||||
return pAppHbMgr;
|
return pAppHbMgr;
|
||||||
}
|
}
|
||||||
|
|
|
@ -116,7 +116,7 @@ TAOS *taos_connect_internal(const char *ip, const char *user, const char *pass,
|
||||||
SAppInstInfo* p = calloc(1, sizeof(struct SAppInstInfo));
|
SAppInstInfo* p = calloc(1, sizeof(struct SAppInstInfo));
|
||||||
p->mgmtEp = epSet;
|
p->mgmtEp = epSet;
|
||||||
p->pTransporter = openTransporter(user, secretEncrypt, tsNumOfCores);
|
p->pTransporter = openTransporter(user, secretEncrypt, tsNumOfCores);
|
||||||
/*p->pAppHbMgr = appHbMgrInit(p);*/
|
p->pAppHbMgr = appHbMgrInit(p);
|
||||||
taosHashPut(appInfo.pInstMap, key, strlen(key), &p, POINTER_BYTES);
|
taosHashPut(appInfo.pInstMap, key, strlen(key), &p, POINTER_BYTES);
|
||||||
|
|
||||||
pInst = &p;
|
pInst = &p;
|
||||||
|
|
|
@ -72,7 +72,7 @@ int processConnectRsp(void* param, const SDataBuf* pMsg, int32_t code) {
|
||||||
atomic_add_fetch_64(&pTscObj->pAppInfo->numOfConns, 1);
|
atomic_add_fetch_64(&pTscObj->pAppInfo->numOfConns, 1);
|
||||||
|
|
||||||
SClientHbKey connKey = {.connId = pConnect->connId, .hbType = HEARTBEAT_TYPE_QUERY};
|
SClientHbKey connKey = {.connId = pConnect->connId, .hbType = HEARTBEAT_TYPE_QUERY};
|
||||||
/*hbRegisterConn(pTscObj->pAppInfo->pAppHbMgr, connKey, NULL);*/
|
hbRegisterConn(pTscObj->pAppInfo->pAppHbMgr, connKey, NULL);
|
||||||
|
|
||||||
// pRequest->body.resInfo.pRspMsg = pMsg->pData;
|
// pRequest->body.resInfo.pRspMsg = pMsg->pData;
|
||||||
tscDebug("0x%" PRIx64 " clusterId:%" PRId64 ", totalConn:%" PRId64, pRequest->requestId, pConnect->clusterId,
|
tscDebug("0x%" PRIx64 " clusterId:%" PRId64 ", totalConn:%" PRId64, pRequest->requestId, pConnect->clusterId,
|
||||||
|
|
|
@ -147,29 +147,29 @@ TEST(testCase, connect_Test) {
|
||||||
// taos_close(pConn);
|
// taos_close(pConn);
|
||||||
//}
|
//}
|
||||||
//
|
//
|
||||||
TEST(testCase, create_db_Test) {
|
//TEST(testCase, create_db_Test) {
|
||||||
TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
//TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
||||||
assert(pConn != NULL);
|
//assert(pConn != NULL);
|
||||||
|
|
||||||
TAOS_RES* pRes = taos_query(pConn, "create database abc1 vgroups 2");
|
//TAOS_RES* pRes = taos_query(pConn, "create database abc1 vgroups 2");
|
||||||
if (taos_errno(pRes) != 0) {
|
//if (taos_errno(pRes) != 0) {
|
||||||
printf("error in create db, reason:%s\n", taos_errstr(pRes));
|
//printf("error in create db, reason:%s\n", taos_errstr(pRes));
|
||||||
}
|
//}
|
||||||
|
|
||||||
TAOS_FIELD* pFields = taos_fetch_fields(pRes);
|
//TAOS_FIELD* pFields = taos_fetch_fields(pRes);
|
||||||
ASSERT_TRUE(pFields == NULL);
|
//ASSERT_TRUE(pFields == NULL);
|
||||||
|
|
||||||
int32_t numOfFields = taos_num_fields(pRes);
|
//int32_t numOfFields = taos_num_fields(pRes);
|
||||||
ASSERT_EQ(numOfFields, 0);
|
//ASSERT_EQ(numOfFields, 0);
|
||||||
|
|
||||||
taos_free_result(pRes);
|
//taos_free_result(pRes);
|
||||||
|
|
||||||
pRes = taos_query(pConn, "create database abc1 vgroups 4");
|
//pRes = taos_query(pConn, "create database abc1 vgroups 4");
|
||||||
if (taos_errno(pRes) != 0) {
|
//if (taos_errno(pRes) != 0) {
|
||||||
printf("error in create db, reason:%s\n", taos_errstr(pRes));
|
//printf("error in create db, reason:%s\n", taos_errstr(pRes));
|
||||||
}
|
//}
|
||||||
taos_close(pConn);
|
//taos_close(pConn);
|
||||||
}
|
//}
|
||||||
//
|
//
|
||||||
//TEST(testCase, create_dnode_Test) {
|
//TEST(testCase, create_dnode_Test) {
|
||||||
// TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
// TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
||||||
|
|
|
@ -96,7 +96,6 @@ TEST_F(MndTestProfile, 03_ConnectMsg_Show) {
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(MndTestProfile, 04_HeartBeatMsg) {
|
TEST_F(MndTestProfile, 04_HeartBeatMsg) {
|
||||||
|
|
||||||
SClientHbBatchReq batchReq;
|
SClientHbBatchReq batchReq;
|
||||||
batchReq.reqs = taosArrayInit(0, sizeof(SClientHbReq));
|
batchReq.reqs = taosArrayInit(0, sizeof(SClientHbReq));
|
||||||
SClientHbReq req = {0};
|
SClientHbReq req = {0};
|
||||||
|
@ -127,6 +126,7 @@ TEST_F(MndTestProfile, 04_HeartBeatMsg) {
|
||||||
EXPECT_EQ(pRsp->connKey.connId, 123);
|
EXPECT_EQ(pRsp->connKey.connId, 123);
|
||||||
EXPECT_EQ(pRsp->connKey.hbType, HEARTBEAT_TYPE_MQ);
|
EXPECT_EQ(pRsp->connKey.hbType, HEARTBEAT_TYPE_MQ);
|
||||||
EXPECT_EQ(pRsp->status, 0);
|
EXPECT_EQ(pRsp->status, 0);
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
int32_t contLen = sizeof(SHeartBeatReq);
|
int32_t contLen = sizeof(SHeartBeatReq);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue