chore: code optimization
This commit is contained in:
parent
781834065a
commit
b059cc4ee1
|
@ -361,7 +361,7 @@ void stopAllRequests(SHashObj* pRequests);
|
||||||
|
|
||||||
// conn level
|
// conn level
|
||||||
int hbRegisterConn(SAppHbMgr* pAppHbMgr, int64_t tscRefId, int64_t clusterId, int8_t connType);
|
int hbRegisterConn(SAppHbMgr* pAppHbMgr, int64_t tscRefId, int64_t clusterId, int8_t connType);
|
||||||
void hbDeregisterConn(SAppHbMgr* pAppHbMgr, SClientHbKey connKey, void* param);
|
void hbDeregisterConn(STscObj* pTscObj, SClientHbKey connKey);
|
||||||
|
|
||||||
typedef struct SSqlCallbackWrapper {
|
typedef struct SSqlCallbackWrapper {
|
||||||
SParseContext* pParseCtx;
|
SParseContext* pParseCtx;
|
||||||
|
|
|
@ -239,7 +239,7 @@ void destroyTscObj(void *pObj) {
|
||||||
tscTrace("begin to destroy tscObj %" PRIx64 " p:%p", tscId, pTscObj);
|
tscTrace("begin to destroy tscObj %" PRIx64 " p:%p", tscId, pTscObj);
|
||||||
|
|
||||||
SClientHbKey connKey = {.tscRid = pTscObj->id, .connType = pTscObj->connType};
|
SClientHbKey connKey = {.tscRid = pTscObj->id, .connType = pTscObj->connType};
|
||||||
hbDeregisterConn(pTscObj->pAppInfo->pAppHbMgr, connKey, pTscObj->passInfo.fp);
|
hbDeregisterConn(pTscObj, connKey);
|
||||||
|
|
||||||
destroyAllRequests(pTscObj->pRequests);
|
destroyAllRequests(pTscObj->pRequests);
|
||||||
taosHashCleanup(pTscObj->pRequests);
|
taosHashCleanup(pTscObj->pRequests);
|
||||||
|
|
|
@ -994,6 +994,7 @@ SAppHbMgr *appHbMgrInit(SAppInstInfo *pAppInstInfo, char *key) {
|
||||||
// init stat
|
// init stat
|
||||||
pAppHbMgr->startTime = taosGetTimestampMs();
|
pAppHbMgr->startTime = taosGetTimestampMs();
|
||||||
pAppHbMgr->connKeyCnt = 0;
|
pAppHbMgr->connKeyCnt = 0;
|
||||||
|
pAppHbMgr->passKeyCnt = 0;
|
||||||
pAppHbMgr->reportCnt = 0;
|
pAppHbMgr->reportCnt = 0;
|
||||||
pAppHbMgr->reportBytes = 0;
|
pAppHbMgr->reportBytes = 0;
|
||||||
pAppHbMgr->key = taosStrdup(key);
|
pAppHbMgr->key = taosStrdup(key);
|
||||||
|
@ -1154,7 +1155,8 @@ int hbRegisterConn(SAppHbMgr *pAppHbMgr, int64_t tscRefId, int64_t clusterId, in
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void hbDeregisterConn(SAppHbMgr *pAppHbMgr, SClientHbKey connKey, void *param) {
|
void hbDeregisterConn(STscObj *pTscObj, SClientHbKey connKey) {
|
||||||
|
SAppHbMgr *pAppHbMgr = pTscObj->pAppInfo->pAppHbMgr;
|
||||||
SClientHbReq *pReq = taosHashAcquire(pAppHbMgr->activeInfo, &connKey, sizeof(SClientHbKey));
|
SClientHbReq *pReq = taosHashAcquire(pAppHbMgr->activeInfo, &connKey, sizeof(SClientHbKey));
|
||||||
if (pReq) {
|
if (pReq) {
|
||||||
tFreeClientHbReq(pReq);
|
tFreeClientHbReq(pReq);
|
||||||
|
@ -1167,7 +1169,10 @@ void hbDeregisterConn(SAppHbMgr *pAppHbMgr, SClientHbKey connKey, void *param) {
|
||||||
}
|
}
|
||||||
|
|
||||||
atomic_sub_fetch_32(&pAppHbMgr->connKeyCnt, 1);
|
atomic_sub_fetch_32(&pAppHbMgr->connKeyCnt, 1);
|
||||||
if (param) {
|
|
||||||
atomic_sub_fetch_32(&pAppHbMgr->passKeyCnt, 1);
|
taosThreadMutexLock(&pTscObj->mutex);
|
||||||
|
if (pTscObj->passInfo.fp) {
|
||||||
|
int32_t cnt = atomic_sub_fetch_32(&pAppHbMgr->passKeyCnt, 1);
|
||||||
}
|
}
|
||||||
}
|
taosThreadMutexUnlock(&pTscObj->mutex);
|
||||||
|
}
|
|
@ -134,11 +134,15 @@ int taos_set_notify_cb(TAOS *taos, __taos_notify_fn_t fp, void *param, int type)
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case TAOS_NOTIFY_PASSVER: {
|
case TAOS_NOTIFY_PASSVER: {
|
||||||
|
taosThreadMutexLock(&pObj->mutex);
|
||||||
|
if (fp && !pObj->passInfo.fp) {
|
||||||
|
atomic_add_fetch_32(&pObj->pAppInfo->pAppHbMgr->passKeyCnt, 1);
|
||||||
|
} else if (!fp && pObj->passInfo.fp) {
|
||||||
|
atomic_sub_fetch_32(&pObj->pAppInfo->pAppHbMgr->passKeyCnt, 1);
|
||||||
|
}
|
||||||
pObj->passInfo.fp = fp;
|
pObj->passInfo.fp = fp;
|
||||||
pObj->passInfo.param = param;
|
pObj->passInfo.param = param;
|
||||||
if (fp) {
|
taosThreadMutexUnlock(&pObj->mutex);
|
||||||
atomic_add_fetch_32(&pObj->pAppInfo->pAppHbMgr->passKeyCnt, 1);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default: {
|
default: {
|
||||||
|
|
|
@ -33,8 +33,7 @@
|
||||||
#define nUser 10
|
#define nUser 10
|
||||||
#define USER_LEN 24
|
#define USER_LEN 24
|
||||||
|
|
||||||
void Test(TAOS *taos, char *qstr);
|
void createUsers(TAOS *taos, const char *host, char *qstr);
|
||||||
void createUers(TAOS *taos, const char *host, char *qstr);
|
|
||||||
void passVerTestMulti(const char *host, char *qstr);
|
void passVerTestMulti(const char *host, char *qstr);
|
||||||
|
|
||||||
int nPassVerNotified = 0;
|
int nPassVerNotified = 0;
|
||||||
|
@ -98,14 +97,14 @@ int main(int argc, char *argv[]) {
|
||||||
printf("failed to connect to server, reason:%s\n", "null taos" /*taos_errstr(taos)*/);
|
printf("failed to connect to server, reason:%s\n", "null taos" /*taos_errstr(taos)*/);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
createUers(taos, argv[1], qstr);
|
createUsers(taos, argv[1], qstr);
|
||||||
passVerTestMulti(argv[1], qstr);
|
passVerTestMulti(argv[1], qstr);
|
||||||
|
|
||||||
taos_close(taos);
|
taos_close(taos);
|
||||||
taos_cleanup();
|
taos_cleanup();
|
||||||
}
|
}
|
||||||
|
|
||||||
void createUers(TAOS *taos, const char *host, char *qstr) {
|
void createUsers(TAOS *taos, const char *host, char *qstr) {
|
||||||
// users
|
// users
|
||||||
for (int i = 0; i < nUser; ++i) {
|
for (int i = 0; i < nUser; ++i) {
|
||||||
sprintf(users[i], "user%d", i);
|
sprintf(users[i], "user%d", i);
|
||||||
|
|
Loading…
Reference in New Issue