enh: adjust some logs
This commit is contained in:
parent
b91dd10846
commit
76ad364b93
|
@ -410,14 +410,14 @@ void* getTaskPoolWorkerCb();
|
||||||
((*(_ctbname) == 't') && (0 == strncmp(_ctbname, TSDB_AUDIT_CTB_OPERATION, TSDB_AUDIT_CTB_OPERATION_LEN)))
|
((*(_ctbname) == 't') && (0 == strncmp(_ctbname, TSDB_AUDIT_CTB_OPERATION, TSDB_AUDIT_CTB_OPERATION_LEN)))
|
||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
#define qFatal(...) { if (qDebugFlag & DEBUG_FATAL) { taosPrintLog("QRY FATAL ", DEBUG_FATAL, tsLogEmbedded ? 255 : qDebugFlag, __VA_ARGS__); }}
|
#define qFatal(...) do { if (qDebugFlag & DEBUG_FATAL) { taosPrintLog("QRY FATAL ", DEBUG_FATAL, tsLogEmbedded ? 255 : qDebugFlag, __VA_ARGS__); }} while(0)
|
||||||
#define qError(...) { if (qDebugFlag & DEBUG_ERROR) { taosPrintLog("QRY ERROR ", DEBUG_ERROR, tsLogEmbedded ? 255 : qDebugFlag, __VA_ARGS__); }}
|
#define qError(...) do { if (qDebugFlag & DEBUG_ERROR) { taosPrintLog("QRY ERROR ", DEBUG_ERROR, tsLogEmbedded ? 255 : qDebugFlag, __VA_ARGS__); }} while(0)
|
||||||
#define qWarn(...) { if (qDebugFlag & DEBUG_WARN) { taosPrintLog("QRY WARN ", DEBUG_WARN, tsLogEmbedded ? 255 : qDebugFlag, __VA_ARGS__); }}
|
#define qWarn(...) do { if (qDebugFlag & DEBUG_WARN) { taosPrintLog("QRY WARN ", DEBUG_WARN, tsLogEmbedded ? 255 : qDebugFlag, __VA_ARGS__); }} while(0)
|
||||||
#define qInfo(...) { if (qDebugFlag & DEBUG_INFO) { taosPrintLog("QRY INFO ", DEBUG_INFO, tsLogEmbedded ? 255 : qDebugFlag, __VA_ARGS__); }}
|
#define qInfo(...) do { if (qDebugFlag & DEBUG_INFO) { taosPrintLog("QRY INFO ", DEBUG_INFO, tsLogEmbedded ? 255 : qDebugFlag, __VA_ARGS__); }} while(0)
|
||||||
#define qDebug(...) { if (qDebugFlag & DEBUG_DEBUG) { taosPrintLog("QRY DEBUG ", DEBUG_DEBUG, qDebugFlag, __VA_ARGS__); }}
|
#define qDebug(...) do { if (qDebugFlag & DEBUG_DEBUG) { taosPrintLog("QRY DEBUG ", DEBUG_DEBUG, qDebugFlag, __VA_ARGS__); }} while(0)
|
||||||
#define qTrace(...) { if (qDebugFlag & DEBUG_TRACE) { taosPrintLog("QRY TRACE ", DEBUG_TRACE, qDebugFlag, __VA_ARGS__); }}
|
#define qTrace(...) do { if (qDebugFlag & DEBUG_TRACE) { taosPrintLog("QRY TRACE ", DEBUG_TRACE, qDebugFlag, __VA_ARGS__); }} while(0)
|
||||||
#define qDebugL(...){ if (qDebugFlag & DEBUG_DEBUG) { taosPrintLongString("QRY DEBUG ", DEBUG_DEBUG, qDebugFlag, __VA_ARGS__); }}
|
#define qDebugL(...)do { if (qDebugFlag & DEBUG_DEBUG) { taosPrintLongString("QRY DEBUG ", DEBUG_DEBUG, qDebugFlag, __VA_ARGS__); }} while(0)
|
||||||
#define qInfoL(...) { if (qDebugFlag & DEBUG_INFO) { taosPrintLongString("QRY INFO ", DEBUG_INFO, tsLogEmbedded ? 255 : qDebugFlag, __VA_ARGS__); }}
|
#define qInfoL(...) do { if (qDebugFlag & DEBUG_INFO) { taosPrintLongString("QRY INFO ", DEBUG_INFO, tsLogEmbedded ? 255 : qDebugFlag, __VA_ARGS__); }} while(0)
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
#define QRY_ERR_RET(c) \
|
#define QRY_ERR_RET(c) \
|
||||||
|
|
|
@ -205,12 +205,12 @@ extern char *gStmtStatusStr[];
|
||||||
} \
|
} \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define STMT_FLOG(param, ...) qFatal("stmt:%p " param, pStmt, __VA_ARGS__)
|
#define STMT_FLOG(param, ...) qFatal("stmt:%p, " param, pStmt, __VA_ARGS__)
|
||||||
#define STMT_ELOG(param, ...) qError("stmt:%p " param, pStmt, __VA_ARGS__)
|
#define STMT_ELOG(param, ...) qError("stmt:%p, " param, pStmt, __VA_ARGS__)
|
||||||
#define STMT_DLOG(param, ...) qDebug("stmt:%p " param, pStmt, __VA_ARGS__)
|
#define STMT_DLOG(param, ...) qDebug("stmt:%p, " param, pStmt, __VA_ARGS__)
|
||||||
|
|
||||||
#define STMT_ELOG_E(param) qError("stmt:%p " param, pStmt)
|
#define STMT_ELOG_E(param) qError("stmt:%p, " param, pStmt)
|
||||||
#define STMT_DLOG_E(param) qDebug("stmt:%p " param, pStmt)
|
#define STMT_DLOG_E(param) qDebug("stmt:%p, " param, pStmt)
|
||||||
|
|
||||||
TAOS_STMT *stmtInit(STscObj* taos, int64_t reqid, TAOS_STMT_OPTIONS* pOptions);
|
TAOS_STMT *stmtInit(STscObj* taos, int64_t reqid, TAOS_STMT_OPTIONS* pOptions);
|
||||||
int stmtClose(TAOS_STMT *stmt);
|
int stmtClose(TAOS_STMT *stmt);
|
||||||
|
|
|
@ -221,12 +221,12 @@ do { \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
|
||||||
#define STMT_FLOG(param, ...) qFatal("stmt:%p " param, pStmt, __VA_ARGS__)
|
#define STMT_FLOG(param, ...) qFatal("stmt:%p, " param, pStmt, __VA_ARGS__)
|
||||||
#define STMT_ELOG(param, ...) qError("stmt:%p " param, pStmt, __VA_ARGS__)
|
#define STMT_ELOG(param, ...) qError("stmt:%p, " param, pStmt, __VA_ARGS__)
|
||||||
#define STMT_DLOG(param, ...) qDebug("stmt:%p " param, pStmt, __VA_ARGS__)
|
#define STMT_DLOG(param, ...) qDebug("stmt:%p, " param, pStmt, __VA_ARGS__)
|
||||||
|
|
||||||
#define STMT_ELOG_E(param) qError("stmt:%p " param, pStmt)
|
#define STMT_ELOG_E(param) qError("stmt:%p, " param, pStmt)
|
||||||
#define STMT_DLOG_E(param) qDebug("stmt:%p " param, pStmt)
|
#define STMT_DLOG_E(param) qDebug("stmt:%p, " param, pStmt)
|
||||||
*/
|
*/
|
||||||
TAOS_STMT2 *stmtInit2(STscObj *taos, TAOS_STMT2_OPTION *pOptions);
|
TAOS_STMT2 *stmtInit2(STscObj *taos, TAOS_STMT2_OPTION *pOptions);
|
||||||
int stmtClose2(TAOS_STMT2 *stmt);
|
int stmtClose2(TAOS_STMT2 *stmt);
|
||||||
|
|
|
@ -22,42 +22,14 @@
|
||||||
#ifndef TDENGINE_JNICOMMON_H
|
#ifndef TDENGINE_JNICOMMON_H
|
||||||
#define TDENGINE_JNICOMMON_H
|
#define TDENGINE_JNICOMMON_H
|
||||||
|
|
||||||
#define jniFatal(...) \
|
// clang-format off
|
||||||
{ \
|
#define jniFatal(...) do { if (jniDebugFlag & DEBUG_FATAL) { taosPrintLog("JNI FATAL ", DEBUG_FATAL, jniDebugFlag, __VA_ARGS__); }} while(0)
|
||||||
if (jniDebugFlag & DEBUG_FATAL) { \
|
#define jniError(...) do { if (jniDebugFlag & DEBUG_ERROR) { taosPrintLog("JNI ERROR ", DEBUG_ERROR, jniDebugFlag, __VA_ARGS__); }} while(0)
|
||||||
taosPrintLog("JNI FATAL ", DEBUG_FATAL, jniDebugFlag, __VA_ARGS__); \
|
#define jniWarn(...) do { if (jniDebugFlag & DEBUG_WARN) { taosPrintLog("JNI WARN ", DEBUG_WARN, jniDebugFlag, __VA_ARGS__); }} while(0)
|
||||||
} \
|
#define jniInfo(...) do { if (jniDebugFlag & DEBUG_INFO) { taosPrintLog("JNI INFO ", DEBUG_INFO, jniDebugFlag, __VA_ARGS__); }} while(0)
|
||||||
}
|
#define jniDebug(...) do { if (jniDebugFlag & DEBUG_DEBUG) { taosPrintLog("JNI DEBUG ", DEBUG_DEBUG, jniDebugFlag, __VA_ARGS__); }} while(0)
|
||||||
#define jniError(...) \
|
#define jniTrace(...) do { if (jniDebugFlag & DEBUG_TRACE) { taosPrintLog("JNI TRACE ", DEBUG_TRACE, jniDebugFlag, __VA_ARGS__); }} while(0)
|
||||||
{ \
|
// clang-format on
|
||||||
if (jniDebugFlag & DEBUG_ERROR) { \
|
|
||||||
taosPrintLog("JNI ERROR ", DEBUG_ERROR, jniDebugFlag, __VA_ARGS__); \
|
|
||||||
} \
|
|
||||||
}
|
|
||||||
#define jniWarn(...) \
|
|
||||||
{ \
|
|
||||||
if (jniDebugFlag & DEBUG_WARN) { \
|
|
||||||
taosPrintLog("JNI WARN ", DEBUG_WARN, jniDebugFlag, __VA_ARGS__); \
|
|
||||||
} \
|
|
||||||
}
|
|
||||||
#define jniInfo(...) \
|
|
||||||
{ \
|
|
||||||
if (jniDebugFlag & DEBUG_INFO) { \
|
|
||||||
taosPrintLog("JNI INFO ", DEBUG_INFO, jniDebugFlag, __VA_ARGS__); \
|
|
||||||
} \
|
|
||||||
}
|
|
||||||
#define jniDebug(...) \
|
|
||||||
{ \
|
|
||||||
if (jniDebugFlag & DEBUG_DEBUG) { \
|
|
||||||
taosPrintLog("JNI DEBUG ", DEBUG_DEBUG, jniDebugFlag, __VA_ARGS__); \
|
|
||||||
} \
|
|
||||||
}
|
|
||||||
#define jniTrace(...) \
|
|
||||||
{ \
|
|
||||||
if (jniDebugFlag & DEBUG_TRACE) { \
|
|
||||||
taosPrintLog("JNI TRACE ", DEBUG_TRACE, jniDebugFlag, __VA_ARGS__); \
|
|
||||||
} \
|
|
||||||
}
|
|
||||||
|
|
||||||
extern jclass g_arrayListClass;
|
extern jclass g_arrayListClass;
|
||||||
extern jmethodID g_arrayListConstructFp;
|
extern jmethodID g_arrayListConstructFp;
|
||||||
|
|
|
@ -93,8 +93,7 @@ static int32_t registerRequest(SRequestObj *pRequest, STscObj *pTscObj) {
|
||||||
|
|
||||||
int32_t total = atomic_add_fetch_64((int64_t *)&pSummary->totalRequests, 1);
|
int32_t total = atomic_add_fetch_64((int64_t *)&pSummary->totalRequests, 1);
|
||||||
int32_t currentInst = atomic_add_fetch_64((int64_t *)&pSummary->currentRequests, 1);
|
int32_t currentInst = atomic_add_fetch_64((int64_t *)&pSummary->currentRequests, 1);
|
||||||
tscDebug("0x%" PRIx64 " new Request from connObj:0x%" PRIx64
|
tscDebug("req:0x%" PRIx64 ", new from connObj:0x%" PRIx64 ", current:%d, app current:%d, total:%d, QID:0x%" PRIx64,
|
||||||
", current:%d, app current:%d, total:%d,QID:0x%" PRIx64,
|
|
||||||
pRequest->self, pRequest->pTscObj->id, num, currentInst, total, pRequest->requestId);
|
pRequest->self, pRequest->pTscObj->id, num, currentInst, total, pRequest->requestId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -134,7 +133,7 @@ static int32_t generateWriteSlowLog(STscObj *pTscObj, SRequestObj *pRequest, int
|
||||||
cJSON *json = cJSON_CreateObject();
|
cJSON *json = cJSON_CreateObject();
|
||||||
int32_t code = TSDB_CODE_SUCCESS;
|
int32_t code = TSDB_CODE_SUCCESS;
|
||||||
if (json == NULL) {
|
if (json == NULL) {
|
||||||
tscError("[monitor] cJSON_CreateObject failed");
|
tscError("failed to create monitor json");
|
||||||
return TSDB_CODE_OUT_OF_MEMORY;
|
return TSDB_CODE_OUT_OF_MEMORY;
|
||||||
}
|
}
|
||||||
char clusterId[32] = {0};
|
char clusterId[32] = {0};
|
||||||
|
@ -255,26 +254,25 @@ static void deregisterRequest(SRequestObj *pRequest) {
|
||||||
int32_t reqType = SLOW_LOG_TYPE_OTHERS;
|
int32_t reqType = SLOW_LOG_TYPE_OTHERS;
|
||||||
|
|
||||||
int64_t duration = taosGetTimestampUs() - pRequest->metric.start;
|
int64_t duration = taosGetTimestampUs() - pRequest->metric.start;
|
||||||
tscDebug("0x%" PRIx64 " free Request from connObj: 0x%" PRIx64 ",QID:0x%" PRIx64
|
tscDebug("req:0x%" PRIx64 ", free from connObj:0x%" PRIx64 ", QID:0x%" PRIx64
|
||||||
" elapsed:%.2f ms, "
|
" elapsed:%.2f ms, current:%d, app current:%d",
|
||||||
"current:%d, app current:%d",
|
|
||||||
pRequest->self, pTscObj->id, pRequest->requestId, duration / 1000.0, num, currentInst);
|
pRequest->self, pTscObj->id, pRequest->requestId, duration / 1000.0, num, currentInst);
|
||||||
|
|
||||||
if (TSDB_CODE_SUCCESS == nodesSimAcquireAllocator(pRequest->allocatorRefId)) {
|
if (TSDB_CODE_SUCCESS == nodesSimAcquireAllocator(pRequest->allocatorRefId)) {
|
||||||
if ((pRequest->pQuery && pRequest->pQuery->pRoot && QUERY_NODE_VNODE_MODIFY_STMT == pRequest->pQuery->pRoot->type &&
|
if ((pRequest->pQuery && pRequest->pQuery->pRoot && QUERY_NODE_VNODE_MODIFY_STMT == pRequest->pQuery->pRoot->type &&
|
||||||
(0 == ((SVnodeModifyOpStmt *)pRequest->pQuery->pRoot)->sqlNodeType)) ||
|
(0 == ((SVnodeModifyOpStmt *)pRequest->pQuery->pRoot)->sqlNodeType)) ||
|
||||||
QUERY_NODE_VNODE_MODIFY_STMT == pRequest->stmtType) {
|
QUERY_NODE_VNODE_MODIFY_STMT == pRequest->stmtType) {
|
||||||
tscDebug("insert duration %" PRId64 "us: parseCost:%" PRId64 "us, ctgCost:%" PRId64 "us, analyseCost:%" PRId64
|
tscDebug("req:0x%" PRIx64 ", insert duration:%" PRId64 "us, parseCost:%" PRId64 "us, ctgCost:%" PRId64
|
||||||
"us, planCost:%" PRId64 "us, exec:%" PRId64 "us",
|
"us, analyseCost:%" PRId64 "us, planCost:%" PRId64 "us, exec:%" PRId64 "us",
|
||||||
duration, pRequest->metric.parseCostUs, pRequest->metric.ctgCostUs, pRequest->metric.analyseCostUs,
|
pRequest->self, duration, pRequest->metric.parseCostUs, pRequest->metric.ctgCostUs,
|
||||||
pRequest->metric.planCostUs, pRequest->metric.execCostUs);
|
pRequest->metric.analyseCostUs, pRequest->metric.planCostUs, pRequest->metric.execCostUs);
|
||||||
(void)atomic_add_fetch_64((int64_t *)&pActivity->insertElapsedTime, duration);
|
(void)atomic_add_fetch_64((int64_t *)&pActivity->insertElapsedTime, duration);
|
||||||
reqType = SLOW_LOG_TYPE_INSERT;
|
reqType = SLOW_LOG_TYPE_INSERT;
|
||||||
} else if (QUERY_NODE_SELECT_STMT == pRequest->stmtType) {
|
} else if (QUERY_NODE_SELECT_STMT == pRequest->stmtType) {
|
||||||
tscDebug("query duration %" PRId64 "us: parseCost:%" PRId64 "us, ctgCost:%" PRId64 "us, analyseCost:%" PRId64
|
tscDebug("req:0x%" PRIx64 ", query duration:%" PRId64 "us, parseCost:%" PRId64 "us, ctgCost:%" PRId64
|
||||||
"us, planCost:%" PRId64 "us, exec:%" PRId64 "us",
|
"us, analyseCost:%" PRId64 "us, planCost:%" PRId64 "us, exec:%" PRId64 "us",
|
||||||
duration, pRequest->metric.parseCostUs, pRequest->metric.ctgCostUs, pRequest->metric.analyseCostUs,
|
pRequest->self, duration, pRequest->metric.parseCostUs, pRequest->metric.ctgCostUs,
|
||||||
pRequest->metric.planCostUs, pRequest->metric.execCostUs);
|
pRequest->metric.analyseCostUs, pRequest->metric.planCostUs, pRequest->metric.execCostUs);
|
||||||
|
|
||||||
(void)atomic_add_fetch_64((int64_t *)&pActivity->queryElapsedTime, duration);
|
(void)atomic_add_fetch_64((int64_t *)&pActivity->queryElapsedTime, duration);
|
||||||
reqType = SLOW_LOG_TYPE_QUERY;
|
reqType = SLOW_LOG_TYPE_QUERY;
|
||||||
|
@ -299,7 +297,7 @@ static void deregisterRequest(SRequestObj *pRequest) {
|
||||||
checkSlowLogExceptDb(pRequest, pTscObj->pAppInfo->serverCfg.monitorParas.tsSlowLogExceptDb)) {
|
checkSlowLogExceptDb(pRequest, pTscObj->pAppInfo->serverCfg.monitorParas.tsSlowLogExceptDb)) {
|
||||||
(void)atomic_add_fetch_64((int64_t *)&pActivity->numOfSlowQueries, 1);
|
(void)atomic_add_fetch_64((int64_t *)&pActivity->numOfSlowQueries, 1);
|
||||||
if (pTscObj->pAppInfo->serverCfg.monitorParas.tsSlowLogScope & reqType) {
|
if (pTscObj->pAppInfo->serverCfg.monitorParas.tsSlowLogScope & reqType) {
|
||||||
taosPrintSlowLog("PID:%d, Conn:%u,QID:0x%" PRIx64 ", Start:%" PRId64 " us, Duration:%" PRId64 "us, SQL:%s",
|
taosPrintSlowLog("PID:%d, Conn:%u, QID:0x%" PRIx64 ", Start:%" PRId64 "us, Duration:%" PRId64 "us, SQL:%s",
|
||||||
taosGetPId(), pTscObj->connId, pRequest->requestId, pRequest->metric.start, duration,
|
taosGetPId(), pTscObj->connId, pRequest->requestId, pRequest->metric.start, duration,
|
||||||
pRequest->sqlstr);
|
pRequest->sqlstr);
|
||||||
if (pTscObj->pAppInfo->serverCfg.monitorParas.tsEnableMonitor) {
|
if (pTscObj->pAppInfo->serverCfg.monitorParas.tsEnableMonitor) {
|
||||||
|
@ -460,7 +458,7 @@ void destroyTscObj(void *pObj) {
|
||||||
|
|
||||||
STscObj *pTscObj = pObj;
|
STscObj *pTscObj = pObj;
|
||||||
int64_t tscId = pTscObj->id;
|
int64_t tscId = pTscObj->id;
|
||||||
tscTrace("begin to destroy tscObj %" PRIx64 " p:%p", tscId, pTscObj);
|
tscTrace("connObj:%" PRIx64 ", begin destroy, p:%p", tscId, pTscObj);
|
||||||
|
|
||||||
SClientHbKey connKey = {.tscRid = pTscObj->id, .connType = pTscObj->connType};
|
SClientHbKey connKey = {.tscRid = pTscObj->id, .connType = pTscObj->connType};
|
||||||
hbDeregisterConn(pTscObj, connKey);
|
hbDeregisterConn(pTscObj, connKey);
|
||||||
|
@ -469,7 +467,7 @@ void destroyTscObj(void *pObj) {
|
||||||
taosHashCleanup(pTscObj->pRequests);
|
taosHashCleanup(pTscObj->pRequests);
|
||||||
|
|
||||||
schedulerStopQueryHb(pTscObj->pAppInfo->pTransporter);
|
schedulerStopQueryHb(pTscObj->pAppInfo->pTransporter);
|
||||||
tscDebug("connObj 0x%" PRIx64 " p:%p destroyed, remain inst totalConn:%" PRId64, pTscObj->id, pTscObj,
|
tscDebug("connObj:0x%" PRIx64 ", p:%p destroyed, remain inst totalConn:%" PRId64, pTscObj->id, pTscObj,
|
||||||
pTscObj->pAppInfo->numOfConns);
|
pTscObj->pAppInfo->numOfConns);
|
||||||
|
|
||||||
// In any cases, we should not free app inst here. Or an race condition rises.
|
// In any cases, we should not free app inst here. Or an race condition rises.
|
||||||
|
@ -478,7 +476,7 @@ void destroyTscObj(void *pObj) {
|
||||||
(void)taosThreadMutexDestroy(&pTscObj->mutex);
|
(void)taosThreadMutexDestroy(&pTscObj->mutex);
|
||||||
taosMemoryFree(pTscObj);
|
taosMemoryFree(pTscObj);
|
||||||
|
|
||||||
tscTrace("end to destroy tscObj %" PRIx64 " p:%p", tscId, pTscObj);
|
tscTrace("connObj:0x%" PRIx64 ", end destroy, p:%p", tscId, pTscObj);
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t createTscObj(const char *user, const char *auth, const char *db, int32_t connType, SAppInstInfo *pAppInfo,
|
int32_t createTscObj(const char *user, const char *auth, const char *db, int32_t connType, SAppInstInfo *pAppInfo,
|
||||||
|
@ -684,7 +682,7 @@ void doDestroyRequest(void *p) {
|
||||||
SRequestObj *pRequest = (SRequestObj *)p;
|
SRequestObj *pRequest = (SRequestObj *)p;
|
||||||
|
|
||||||
uint64_t reqId = pRequest->requestId;
|
uint64_t reqId = pRequest->requestId;
|
||||||
tscDebug("begin to destroy request 0x%" PRIx64 " p:%p", reqId, pRequest);
|
tscDebug("QID:0x%" PRIx64 ", begin destroy request p:%p", reqId, pRequest);
|
||||||
|
|
||||||
int64_t nextReqRefId = pRequest->relation.nextRefId;
|
int64_t nextReqRefId = pRequest->relation.nextRefId;
|
||||||
|
|
||||||
|
@ -726,7 +724,7 @@ void doDestroyRequest(void *p) {
|
||||||
taosMemoryFreeClear(pRequest->effectiveUser);
|
taosMemoryFreeClear(pRequest->effectiveUser);
|
||||||
taosMemoryFreeClear(pRequest->sqlstr);
|
taosMemoryFreeClear(pRequest->sqlstr);
|
||||||
taosMemoryFree(pRequest);
|
taosMemoryFree(pRequest);
|
||||||
tscDebug("end to destroy request %" PRIx64 " p:%p", reqId, pRequest);
|
tscDebug("QID:0x%" PRIx64 ", end destroy request p:%p", reqId, pRequest);
|
||||||
destroyNextReq(nextReqRefId);
|
destroyNextReq(nextReqRefId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -749,7 +747,7 @@ void taosStopQueryImpl(SRequestObj *pRequest) {
|
||||||
}
|
}
|
||||||
|
|
||||||
schedulerFreeJob(&pRequest->body.queryJob, TSDB_CODE_TSC_QUERY_KILLED);
|
schedulerFreeJob(&pRequest->body.queryJob, TSDB_CODE_TSC_QUERY_KILLED);
|
||||||
tscDebug("request %" PRIx64 " killed", pRequest->requestId);
|
tscDebug("QID:0x%" PRIx64 ", killed", pRequest->requestId);
|
||||||
}
|
}
|
||||||
|
|
||||||
void stopAllQueries(SRequestObj *pRequest) {
|
void stopAllQueries(SRequestObj *pRequest) {
|
||||||
|
|
|
@ -121,7 +121,7 @@ static int32_t hbUpdateUserAuthInfo(SAppHbMgr *pAppHbMgr, SUserAuthBatchRsp *bat
|
||||||
pTscObj->authVer = pRsp->version;
|
pTscObj->authVer = pRsp->version;
|
||||||
|
|
||||||
if (pTscObj->sysInfo != pRsp->sysInfo) {
|
if (pTscObj->sysInfo != pRsp->sysInfo) {
|
||||||
tscDebug("update sysInfo of user %s from %" PRIi8 " to %" PRIi8 ", tscRid:%" PRIi64, pRsp->user,
|
tscDebug("update sysInfo of user %s from %" PRIi8 " to %" PRIi8 ", connObj:%" PRIi64, pRsp->user,
|
||||||
pTscObj->sysInfo, pRsp->sysInfo, pTscObj->id);
|
pTscObj->sysInfo, pRsp->sysInfo, pTscObj->id);
|
||||||
pTscObj->sysInfo = pRsp->sysInfo;
|
pTscObj->sysInfo = pRsp->sysInfo;
|
||||||
}
|
}
|
||||||
|
@ -134,7 +134,7 @@ static int32_t hbUpdateUserAuthInfo(SAppHbMgr *pAppHbMgr, SUserAuthBatchRsp *bat
|
||||||
if (passInfo->fp) {
|
if (passInfo->fp) {
|
||||||
(*passInfo->fp)(passInfo->param, &pRsp->passVer, TAOS_NOTIFY_PASSVER);
|
(*passInfo->fp)(passInfo->param, &pRsp->passVer, TAOS_NOTIFY_PASSVER);
|
||||||
}
|
}
|
||||||
tscDebug("update passVer of user %s from %d to %d, tscRid:%" PRIi64, pRsp->user, oldVer,
|
tscDebug("update passVer of user %s from %d to %d, connObj:%" PRIi64, pRsp->user, oldVer,
|
||||||
atomic_load_32(&passInfo->ver), pTscObj->id);
|
atomic_load_32(&passInfo->ver), pTscObj->id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -147,7 +147,7 @@ static int32_t hbUpdateUserAuthInfo(SAppHbMgr *pAppHbMgr, SUserAuthBatchRsp *bat
|
||||||
if (whiteListInfo->fp) {
|
if (whiteListInfo->fp) {
|
||||||
(*whiteListInfo->fp)(whiteListInfo->param, &pRsp->whiteListVer, TAOS_NOTIFY_WHITELIST_VER);
|
(*whiteListInfo->fp)(whiteListInfo->param, &pRsp->whiteListVer, TAOS_NOTIFY_WHITELIST_VER);
|
||||||
}
|
}
|
||||||
tscDebug("update whitelist version of user %s from %" PRId64 " to %" PRId64 ", tscRid:%" PRIi64, pRsp->user,
|
tscDebug("update whitelist version of user %s from %" PRId64 " to %" PRId64 ", connObj:%" PRIi64, pRsp->user,
|
||||||
oldVer, atomic_load_64(&whiteListInfo->ver), pTscObj->id);
|
oldVer, atomic_load_64(&whiteListInfo->ver), pTscObj->id);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -156,7 +156,7 @@ static int32_t hbUpdateUserAuthInfo(SAppHbMgr *pAppHbMgr, SUserAuthBatchRsp *bat
|
||||||
SWhiteListInfo *whiteListInfo = &pTscObj->whiteListInfo;
|
SWhiteListInfo *whiteListInfo = &pTscObj->whiteListInfo;
|
||||||
int64_t oldVer = atomic_load_64(&whiteListInfo->ver);
|
int64_t oldVer = atomic_load_64(&whiteListInfo->ver);
|
||||||
atomic_store_64(&whiteListInfo->ver, pRsp->whiteListVer);
|
atomic_store_64(&whiteListInfo->ver, pRsp->whiteListVer);
|
||||||
tscDebug("update whitelist version of user %s from %" PRId64 " to %" PRId64 ", tscRid:%" PRIi64, pRsp->user,
|
tscDebug("update whitelist version of user %s from %" PRId64 " to %" PRId64 ", connObj:%" PRIi64, pRsp->user,
|
||||||
oldVer, atomic_load_64(&whiteListInfo->ver), pTscObj->id);
|
oldVer, atomic_load_64(&whiteListInfo->ver), pTscObj->id);
|
||||||
}
|
}
|
||||||
releaseTscObj(pReq->connKey.tscRid);
|
releaseTscObj(pReq->connKey.tscRid);
|
||||||
|
@ -548,7 +548,7 @@ static int32_t hbQueryHbRspHandle(SAppHbMgr *pAppHbMgr, SClientHbRsp *pRsp) {
|
||||||
struct SCatalog *pCatalog = NULL;
|
struct SCatalog *pCatalog = NULL;
|
||||||
int32_t code = catalogGetHandle(pReq->clusterId, &pCatalog);
|
int32_t code = catalogGetHandle(pReq->clusterId, &pCatalog);
|
||||||
if (code != TSDB_CODE_SUCCESS) {
|
if (code != TSDB_CODE_SUCCESS) {
|
||||||
tscWarn("catalogGetHandle failed, clusterId:%" PRIx64 ", error:%s", pReq->clusterId, tstrerror(code));
|
tscWarn("catalogGetHandle failed, clusterId:0x%" PRIx64 ", error:%s", pReq->clusterId, tstrerror(code));
|
||||||
} else {
|
} else {
|
||||||
hbProcessQueryRspKvs(kvNum, pRsp->info, pCatalog, pAppHbMgr);
|
hbProcessQueryRspKvs(kvNum, pRsp->info, pCatalog, pAppHbMgr);
|
||||||
}
|
}
|
||||||
|
@ -608,7 +608,7 @@ static int32_t hbAsyncCallBack(void *param, SDataBuf *pMsg, int32_t code) {
|
||||||
|
|
||||||
pInst->serverCfg.monitorParas = pRsp.monitorParas;
|
pInst->serverCfg.monitorParas = pRsp.monitorParas;
|
||||||
pInst->serverCfg.enableAuditDelete = pRsp.enableAuditDelete;
|
pInst->serverCfg.enableAuditDelete = pRsp.enableAuditDelete;
|
||||||
tscDebug("[monitor] paras from hb, clusterId:%" PRIx64 " monitorParas threshold:%d scope:%d", pInst->clusterId,
|
tscDebug("monitor paras from hb, clusterId:0x%" PRIx64 ", threshold:%d scope:%d", pInst->clusterId,
|
||||||
pRsp.monitorParas.tsSlowLogThreshold, pRsp.monitorParas.tsSlowLogScope);
|
pRsp.monitorParas.tsSlowLogThreshold, pRsp.monitorParas.tsSlowLogScope);
|
||||||
|
|
||||||
if (rspNum) {
|
if (rspNum) {
|
||||||
|
@ -1081,33 +1081,33 @@ int32_t hbQueryHbReqHandle(SClientHbKey *connKey, void *param, SClientHbReq *req
|
||||||
|
|
||||||
code = hbGetQueryBasicInfo(connKey, req);
|
code = hbGetQueryBasicInfo(connKey, req);
|
||||||
if (code != TSDB_CODE_SUCCESS) {
|
if (code != TSDB_CODE_SUCCESS) {
|
||||||
tscWarn("hbGetQueryBasicInfo failed, clusterId:%" PRIx64 ", error:%s", hbParam->clusterId, tstrerror(code));
|
tscWarn("hbGetQueryBasicInfo failed, clusterId:0x%" PRIx64 ", error:%s", hbParam->clusterId, tstrerror(code));
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hbParam->reqCnt == 0) {
|
if (hbParam->reqCnt == 0) {
|
||||||
code = catalogGetHandle(hbParam->clusterId, &pCatalog);
|
code = catalogGetHandle(hbParam->clusterId, &pCatalog);
|
||||||
if (code != TSDB_CODE_SUCCESS) {
|
if (code != TSDB_CODE_SUCCESS) {
|
||||||
tscWarn("catalogGetHandle failed, clusterId:%" PRIx64 ", error:%s", hbParam->clusterId, tstrerror(code));
|
tscWarn("catalogGetHandle failed, clusterId:0x%" PRIx64 ", error:%s", hbParam->clusterId, tstrerror(code));
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
code = hbGetAppInfo(hbParam->clusterId, req);
|
code = hbGetAppInfo(hbParam->clusterId, req);
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
tscWarn("getAppInfo failed, clusterId:%" PRIx64 ", error:%s", hbParam->clusterId, tstrerror(code));
|
tscWarn("getAppInfo failed, clusterId:0x%" PRIx64 ", error:%s", hbParam->clusterId, tstrerror(code));
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!taosHashGet(clientHbMgr.appHbHash, &hbParam->clusterId, sizeof(hbParam->clusterId))) {
|
if (!taosHashGet(clientHbMgr.appHbHash, &hbParam->clusterId, sizeof(hbParam->clusterId))) {
|
||||||
code = hbGetExpiredUserInfo(connKey, pCatalog, req);
|
code = hbGetExpiredUserInfo(connKey, pCatalog, req);
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
tscWarn("hbGetExpiredUserInfo failed, clusterId:%" PRIx64 ", error:%s", hbParam->clusterId, tstrerror(code));
|
tscWarn("hbGetExpiredUserInfo failed, clusterId:0x%" PRIx64 ", error:%s", hbParam->clusterId, tstrerror(code));
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
if (clientHbMgr.appHbHash) {
|
if (clientHbMgr.appHbHash) {
|
||||||
code = taosHashPut(clientHbMgr.appHbHash, &hbParam->clusterId, sizeof(uint64_t), NULL, 0);
|
code = taosHashPut(clientHbMgr.appHbHash, &hbParam->clusterId, sizeof(uint64_t), NULL, 0);
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
tscWarn("hbQueryHbReqHandle put clusterId failed, clusterId:%" PRIx64 ", error:%s", hbParam->clusterId,
|
tscWarn("hbQueryHbReqHandle put clusterId failed, clusterId:0x%" PRIx64 ", error:%s", hbParam->clusterId,
|
||||||
tstrerror(code));
|
tstrerror(code));
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
@ -1118,7 +1118,7 @@ int32_t hbQueryHbReqHandle(SClientHbKey *connKey, void *param, SClientHbReq *req
|
||||||
if (2 != atomic_load_8(&hbParam->pAppHbMgr->connHbFlag)) {
|
if (2 != atomic_load_8(&hbParam->pAppHbMgr->connHbFlag)) {
|
||||||
code = hbGetUserAuthInfo(connKey, hbParam, req);
|
code = hbGetUserAuthInfo(connKey, hbParam, req);
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
tscWarn("hbGetUserAuthInfo failed, clusterId:%" PRIx64 ", error:%s", hbParam->clusterId, tstrerror(code));
|
tscWarn("hbGetUserAuthInfo failed, clusterId:0x%" PRIx64 ", error:%s", hbParam->clusterId, tstrerror(code));
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
atomic_store_8(&hbParam->pAppHbMgr->connHbFlag, 1);
|
atomic_store_8(&hbParam->pAppHbMgr->connHbFlag, 1);
|
||||||
|
@ -1126,32 +1126,32 @@ int32_t hbQueryHbReqHandle(SClientHbKey *connKey, void *param, SClientHbReq *req
|
||||||
|
|
||||||
code = hbGetExpiredDBInfo(connKey, pCatalog, req);
|
code = hbGetExpiredDBInfo(connKey, pCatalog, req);
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
tscWarn("hbGetExpiredDBInfo failed, clusterId:%" PRIx64 ", error:%s", hbParam->clusterId, tstrerror(code));
|
tscWarn("hbGetExpiredDBInfo failed, clusterId:0x%" PRIx64 ", error:%s", hbParam->clusterId, tstrerror(code));
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
code = hbGetExpiredStbInfo(connKey, pCatalog, req);
|
code = hbGetExpiredStbInfo(connKey, pCatalog, req);
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
tscWarn("hbGetExpiredStbInfo failed, clusterId:%" PRIx64 ", error:%s", hbParam->clusterId, tstrerror(code));
|
tscWarn("hbGetExpiredStbInfo failed, clusterId:0x%" PRIx64 ", error:%s", hbParam->clusterId, tstrerror(code));
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef TD_ENTERPRISE
|
#ifdef TD_ENTERPRISE
|
||||||
code = hbGetExpiredViewInfo(connKey, pCatalog, req);
|
code = hbGetExpiredViewInfo(connKey, pCatalog, req);
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
tscWarn("hbGetExpiredViewInfo failed, clusterId:%" PRIx64 ", error:%s", hbParam->clusterId, tstrerror(code));
|
tscWarn("hbGetExpiredViewInfo failed, clusterId:0x%" PRIx64 ", error:%s", hbParam->clusterId, tstrerror(code));
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
code = hbGetExpiredTSMAInfo(connKey, pCatalog, req);
|
code = hbGetExpiredTSMAInfo(connKey, pCatalog, req);
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
tscWarn("hbGetExpiredTSMAInfo failed, clusterId:%" PRIx64 ", error:%s", hbParam->clusterId, tstrerror(code));
|
tscWarn("hbGetExpiredTSMAInfo failed, clusterId:0x%" PRIx64 ", error:%s", hbParam->clusterId, tstrerror(code));
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
code = hbGetAppInfo(hbParam->clusterId, req);
|
code = hbGetAppInfo(hbParam->clusterId, req);
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
tscWarn("hbGetAppInfo failed, clusterId:%" PRIx64 ", error:%s", hbParam->clusterId, tstrerror(code));
|
tscWarn("hbGetAppInfo failed, clusterId:0x%" PRIx64 ", error:%s", hbParam->clusterId, tstrerror(code));
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -227,7 +227,7 @@ int32_t buildRequest(uint64_t connId, const char* sql, int sqlLen, void* param,
|
||||||
|
|
||||||
(*pRequest)->sqlstr = taosMemoryMalloc(sqlLen + 1);
|
(*pRequest)->sqlstr = taosMemoryMalloc(sqlLen + 1);
|
||||||
if ((*pRequest)->sqlstr == NULL) {
|
if ((*pRequest)->sqlstr == NULL) {
|
||||||
tscError("0x%" PRIx64 " failed to prepare sql string buffer, %s", (*pRequest)->self, sql);
|
tscError("req:0x%" PRIx64 ", failed to prepare sql string buffer, %s", (*pRequest)->self, sql);
|
||||||
destroyRequest(*pRequest);
|
destroyRequest(*pRequest);
|
||||||
*pRequest = NULL;
|
*pRequest = NULL;
|
||||||
return terrno;
|
return terrno;
|
||||||
|
@ -245,7 +245,7 @@ int32_t buildRequest(uint64_t connId, const char* sql, int sqlLen, void* param,
|
||||||
int32_t err = taosHashPut(pTscObj->pRequests, &(*pRequest)->self, sizeof((*pRequest)->self), &(*pRequest)->self,
|
int32_t err = taosHashPut(pTscObj->pRequests, &(*pRequest)->self, sizeof((*pRequest)->self), &(*pRequest)->self,
|
||||||
sizeof((*pRequest)->self));
|
sizeof((*pRequest)->self));
|
||||||
if (err) {
|
if (err) {
|
||||||
tscError("%" PRId64 " failed to add to request container,QID:0x%" PRIx64 ", conn:%" PRId64 ", %s",
|
tscError("req:0x%" PRId64 ", failed to add to request container, QID:0x%" PRIx64 ", connObj:%" PRId64 ", %s",
|
||||||
(*pRequest)->self, (*pRequest)->requestId, pTscObj->id, sql);
|
(*pRequest)->self, (*pRequest)->requestId, pTscObj->id, sql);
|
||||||
destroyRequest(*pRequest);
|
destroyRequest(*pRequest);
|
||||||
*pRequest = NULL;
|
*pRequest = NULL;
|
||||||
|
@ -256,7 +256,7 @@ int32_t buildRequest(uint64_t connId, const char* sql, int sqlLen, void* param,
|
||||||
if (tsQueryUseNodeAllocator && !qIsInsertValuesSql((*pRequest)->sqlstr, (*pRequest)->sqlLen)) {
|
if (tsQueryUseNodeAllocator && !qIsInsertValuesSql((*pRequest)->sqlstr, (*pRequest)->sqlLen)) {
|
||||||
if (TSDB_CODE_SUCCESS !=
|
if (TSDB_CODE_SUCCESS !=
|
||||||
nodesCreateAllocator((*pRequest)->requestId, tsQueryNodeChunkSize, &((*pRequest)->allocatorRefId))) {
|
nodesCreateAllocator((*pRequest)->requestId, tsQueryNodeChunkSize, &((*pRequest)->allocatorRefId))) {
|
||||||
tscError("%" PRId64 " failed to create node allocator,QID:0x%" PRIx64 ", conn:%" PRId64 ", %s", (*pRequest)->self,
|
tscError("req:0x%" PRId64 ", failed to create node allocator, QID:0x%" PRIx64 ", connObj:%" PRId64 ", %s", (*pRequest)->self,
|
||||||
(*pRequest)->requestId, pTscObj->id, sql);
|
(*pRequest)->requestId, pTscObj->id, sql);
|
||||||
destroyRequest(*pRequest);
|
destroyRequest(*pRequest);
|
||||||
*pRequest = NULL;
|
*pRequest = NULL;
|
||||||
|
@ -264,7 +264,7 @@ int32_t buildRequest(uint64_t connId, const char* sql, int sqlLen, void* param,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tscDebugL("0x%" PRIx64 " SQL: %s,QID:0x%" PRIx64, (*pRequest)->self, (*pRequest)->sqlstr, (*pRequest)->requestId);
|
tscDebugL("req:0x%" PRIx64 ", QID:0x%" PRIx64 ", build request", (*pRequest)->self, (*pRequest)->requestId);
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -381,10 +381,10 @@ void asyncExecLocalCmd(SRequestObj* pRequest, SQuery* pQuery) {
|
||||||
|
|
||||||
if (pRequest->code != TSDB_CODE_SUCCESS) {
|
if (pRequest->code != TSDB_CODE_SUCCESS) {
|
||||||
pResultInfo->numOfRows = 0;
|
pResultInfo->numOfRows = 0;
|
||||||
tscError("0x%" PRIx64 " fetch results failed, code:%s,QID:0x%" PRIx64, pRequest->self, tstrerror(code),
|
tscError("req:0x%" PRIx64 ", fetch results failed, code:%s, QID:0x%" PRIx64, pRequest->self, tstrerror(code),
|
||||||
pRequest->requestId);
|
pRequest->requestId);
|
||||||
} else {
|
} else {
|
||||||
tscDebug("0x%" PRIx64 " fetch results, numOfRows:%" PRId64 " total Rows:%" PRId64 ", complete:%d,QID:0x%" PRIx64,
|
tscDebug("req:0x%" PRIx64 ", fetch results, numOfRows:%" PRId64 " total Rows:%" PRId64 ", complete:%d, QID:0x%" PRIx64,
|
||||||
pRequest->self, pResultInfo->numOfRows, pResultInfo->totalRows, pResultInfo->completed,
|
pRequest->self, pResultInfo->numOfRows, pResultInfo->totalRows, pResultInfo->completed,
|
||||||
pRequest->requestId);
|
pRequest->requestId);
|
||||||
}
|
}
|
||||||
|
@ -1030,7 +1030,7 @@ int32_t handleQueryExecRsp(SRequestObj* pRequest) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
tscError("0x%" PRIx64 ", invalid exec result for request type %d,QID:0x%" PRIx64, pRequest->self, pRequest->type,
|
tscError("req:0x%" PRIx64 ", invalid exec result for request type:%d, QID:0x%" PRIx64, pRequest->self, pRequest->type,
|
||||||
pRequest->requestId);
|
pRequest->requestId);
|
||||||
code = TSDB_CODE_APP_ERROR;
|
code = TSDB_CODE_APP_ERROR;
|
||||||
}
|
}
|
||||||
|
@ -1075,7 +1075,7 @@ void returnToUser(SRequestObj* pRequest) {
|
||||||
(void)releaseRequest(pRequest->relation.userRefId);
|
(void)releaseRequest(pRequest->relation.userRefId);
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
tscError("0x%" PRIx64 ", user ref 0x%" PRIx64 " is not there,QID:0x%" PRIx64, pRequest->self,
|
tscError("req:0x%" PRIx64 ", user ref 0x%" PRIx64 " is not there, QID:0x%" PRIx64, pRequest->self,
|
||||||
pRequest->relation.userRefId, pRequest->requestId);
|
pRequest->relation.userRefId, pRequest->requestId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1146,7 +1146,7 @@ void postSubQueryFetchCb(void* param, TAOS_RES* res, int32_t rowNum) {
|
||||||
SSDataBlock* pBlock = NULL;
|
SSDataBlock* pBlock = NULL;
|
||||||
pRequest->code = createResultBlock(res, rowNum, &pBlock);
|
pRequest->code = createResultBlock(res, rowNum, &pBlock);
|
||||||
if (TSDB_CODE_SUCCESS != pRequest->code) {
|
if (TSDB_CODE_SUCCESS != pRequest->code) {
|
||||||
tscError("0x%" PRIx64 ", create result block failed,QID:0x%" PRIx64 " %s", pRequest->self, pRequest->requestId,
|
tscError("req:0x%" PRIx64 ", create result block failed, QID:0x%" PRIx64 " %s", pRequest->self, pRequest->requestId,
|
||||||
tstrerror(pRequest->code));
|
tstrerror(pRequest->code));
|
||||||
returnToUser(pRequest);
|
returnToUser(pRequest);
|
||||||
return;
|
return;
|
||||||
|
@ -1157,7 +1157,7 @@ void postSubQueryFetchCb(void* param, TAOS_RES* res, int32_t rowNum) {
|
||||||
continuePostSubQuery(pNextReq, pBlock);
|
continuePostSubQuery(pNextReq, pBlock);
|
||||||
(void)releaseRequest(pRequest->relation.nextRefId);
|
(void)releaseRequest(pRequest->relation.nextRefId);
|
||||||
} else {
|
} else {
|
||||||
tscError("0x%" PRIx64 ", next req ref 0x%" PRIx64 " is not there,QID:0x%" PRIx64, pRequest->self,
|
tscError("req:0x%" PRIx64 ", next req ref 0x%" PRIx64 " is not there, QID:0x%" PRIx64, pRequest->self,
|
||||||
pRequest->relation.nextRefId, pRequest->requestId);
|
pRequest->relation.nextRefId, pRequest->requestId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1176,7 +1176,7 @@ void handlePostSubQuery(SSqlCallbackWrapper* pWrapper) {
|
||||||
continuePostSubQuery(pNextReq, NULL);
|
continuePostSubQuery(pNextReq, NULL);
|
||||||
(void)releaseRequest(pRequest->relation.nextRefId);
|
(void)releaseRequest(pRequest->relation.nextRefId);
|
||||||
} else {
|
} else {
|
||||||
tscError("0x%" PRIx64 ", next req ref 0x%" PRIx64 " is not there,QID:0x%" PRIx64, pRequest->self,
|
tscError("req:0x%" PRIx64 ", next req ref 0x%" PRIx64 " is not there, QID:0x%" PRIx64, pRequest->self,
|
||||||
pRequest->relation.nextRefId, pRequest->requestId);
|
pRequest->relation.nextRefId, pRequest->requestId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1208,23 +1208,23 @@ void schedulerExecCb(SExecResult* pResult, void* param, int32_t code) {
|
||||||
}
|
}
|
||||||
|
|
||||||
taosMemoryFree(pResult);
|
taosMemoryFree(pResult);
|
||||||
tscDebug("0x%" PRIx64 " enter scheduler exec cb, code:%s,QID:0x%" PRIx64, pRequest->self, tstrerror(code),
|
tscDebug("req:0x%" PRIx64 ", enter scheduler exec cb, code:%s, QID:0x%" PRIx64, pRequest->self, tstrerror(code),
|
||||||
pRequest->requestId);
|
pRequest->requestId);
|
||||||
|
|
||||||
if (code != TSDB_CODE_SUCCESS && NEED_CLIENT_HANDLE_ERROR(code) && pRequest->sqlstr != NULL) {
|
if (code != TSDB_CODE_SUCCESS && NEED_CLIENT_HANDLE_ERROR(code) && pRequest->sqlstr != NULL) {
|
||||||
tscDebug("0x%" PRIx64 " client retry to handle the error, code:%s, tryCount:%d,QID:0x%" PRIx64, pRequest->self,
|
tscDebug("req:0x%" PRIx64 ", client retry to handle the error, code:%s, tryCount:%d, QID:0x%" PRIx64, pRequest->self,
|
||||||
tstrerror(code), pRequest->retry, pRequest->requestId);
|
tstrerror(code), pRequest->retry, pRequest->requestId);
|
||||||
if (TSDB_CODE_SUCCESS != removeMeta(pTscObj, pRequest->targetTableList, IS_VIEW_REQUEST(pRequest->type))) {
|
if (TSDB_CODE_SUCCESS != removeMeta(pTscObj, pRequest->targetTableList, IS_VIEW_REQUEST(pRequest->type))) {
|
||||||
tscError("0x%" PRIx64 " remove meta failed,QID:0x%" PRIx64, pRequest->self, pRequest->requestId);
|
tscError("req:0x%" PRIx64 ", remove meta failed, QID:0x%" PRIx64, pRequest->self, pRequest->requestId);
|
||||||
}
|
}
|
||||||
restartAsyncQuery(pRequest, code);
|
restartAsyncQuery(pRequest, code);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
tscDebug("schedulerExecCb request type %s", TMSG_INFO(pRequest->type));
|
tscTrace("req:0x%" PRIx64 ", scheduler exec cb, request type:%s", pRequest->self, TMSG_INFO(pRequest->type));
|
||||||
if (NEED_CLIENT_RM_TBLMETA_REQ(pRequest->type) && NULL == pRequest->body.resInfo.execRes.res) {
|
if (NEED_CLIENT_RM_TBLMETA_REQ(pRequest->type) && NULL == pRequest->body.resInfo.execRes.res) {
|
||||||
if (TSDB_CODE_SUCCESS != removeMeta(pTscObj, pRequest->targetTableList, IS_VIEW_REQUEST(pRequest->type))) {
|
if (TSDB_CODE_SUCCESS != removeMeta(pTscObj, pRequest->targetTableList, IS_VIEW_REQUEST(pRequest->type))) {
|
||||||
tscError("0x%" PRIx64 " remove meta failed,QID:0x%" PRIx64, pRequest->self, pRequest->requestId);
|
tscError("req:0x%" PRIx64 ", remove meta failed, QID:0x%" PRIx64, pRequest->self, pRequest->requestId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1322,7 +1322,7 @@ void launchQueryImpl(SRequestObj* pRequest, SQuery* pQuery, bool keepQuery, void
|
||||||
if (NEED_CLIENT_RM_TBLMETA_REQ(pRequest->type) && NULL == pRequest->body.resInfo.execRes.res) {
|
if (NEED_CLIENT_RM_TBLMETA_REQ(pRequest->type) && NULL == pRequest->body.resInfo.execRes.res) {
|
||||||
int ret = removeMeta(pRequest->pTscObj, pRequest->targetTableList, IS_VIEW_REQUEST(pRequest->type));
|
int ret = removeMeta(pRequest->pTscObj, pRequest->targetTableList, IS_VIEW_REQUEST(pRequest->type));
|
||||||
if (TSDB_CODE_SUCCESS != ret) {
|
if (TSDB_CODE_SUCCESS != ret) {
|
||||||
tscError("0x%" PRIx64 " remove meta failed,code:%d,QID:0x%" PRIx64, pRequest->self, ret, pRequest->requestId);
|
tscError("req:0x%" PRIx64 ", remove meta failed,code:%d, QID:0x%" PRIx64, pRequest->self, ret, pRequest->requestId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1370,7 +1370,7 @@ static int32_t asyncExecSchQuery(SRequestObj* pRequest, SQuery* pQuery, SMetaDat
|
||||||
code = qCreateQueryPlan(&cxt, &pDag, pMnodeList);
|
code = qCreateQueryPlan(&cxt, &pDag, pMnodeList);
|
||||||
}
|
}
|
||||||
if (code) {
|
if (code) {
|
||||||
tscError("0x%" PRIx64 " failed to create query plan, code:%s 0x%" PRIx64, pRequest->self, tstrerror(code),
|
tscError("req:0x%" PRIx64 ", failed to create query plan, code:%s 0x%" PRIx64, pRequest->self, tstrerror(code),
|
||||||
pRequest->requestId);
|
pRequest->requestId);
|
||||||
} else {
|
} else {
|
||||||
pRequest->body.subplanNum = pDag->numOfSubplans;
|
pRequest->body.subplanNum = pDag->numOfSubplans;
|
||||||
|
@ -1414,7 +1414,7 @@ static int32_t asyncExecSchQuery(SRequestObj* pRequest, SQuery* pQuery, SMetaDat
|
||||||
taosArrayDestroy(pNodeList);
|
taosArrayDestroy(pNodeList);
|
||||||
} else {
|
} else {
|
||||||
qDestroyQueryPlan(pDag);
|
qDestroyQueryPlan(pDag);
|
||||||
tscDebug("0x%" PRIx64 " plan not executed, code:%s 0x%" PRIx64, pRequest->self, tstrerror(code),
|
tscDebug("req:0x%" PRIx64 ", plan not executed, code:%s 0x%" PRIx64, pRequest->self, tstrerror(code),
|
||||||
pRequest->requestId);
|
pRequest->requestId);
|
||||||
destorySqlCallbackWrapper(pWrapper);
|
destorySqlCallbackWrapper(pWrapper);
|
||||||
pRequest->pWrapper = NULL;
|
pRequest->pWrapper = NULL;
|
||||||
|
@ -1472,7 +1472,7 @@ void launchAsyncQuery(SRequestObj* pRequest, SQuery* pQuery, SMetaData* pResultM
|
||||||
doRequestCallback(pRequest, 0);
|
doRequestCallback(pRequest, 0);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
tscError("0x%" PRIx64 " invalid execMode %d", pRequest->self, pQuery->execMode);
|
tscError("req:0x%" PRIx64 ", invalid execMode %d", pRequest->self, pQuery->execMode);
|
||||||
doRequestCallback(pRequest, -1);
|
doRequestCallback(pRequest, -1);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1659,7 +1659,7 @@ int32_t taosConnectImpl(const char* user, const char* auth, const char* db, __ta
|
||||||
*pTscObj = NULL;
|
*pTscObj = NULL;
|
||||||
return terrno;
|
return terrno;
|
||||||
} else {
|
} else {
|
||||||
tscDebug("0x%" PRIx64 " connection is opening, connId:%u, dnodeConn:%p,QID:0x%" PRIx64, (*pTscObj)->id,
|
tscDebug("connObj:0x%" PRIx64 " connection is opening, connId:%u, dnodeConn:%p, QID:0x%" PRIx64, (*pTscObj)->id,
|
||||||
(*pTscObj)->connId, (*pTscObj)->pAppInfo->pTransporter, pRequest->requestId);
|
(*pTscObj)->connId, (*pTscObj)->pAppInfo->pTransporter, pRequest->requestId);
|
||||||
destroyRequest(pRequest);
|
destroyRequest(pRequest);
|
||||||
}
|
}
|
||||||
|
@ -1754,14 +1754,14 @@ void updateTargetEpSet(SMsgSendInfo* pSendInfo, STscObj* pTscObj, SRpcMsg* pMsg,
|
||||||
SCatalog* pCatalog = NULL;
|
SCatalog* pCatalog = NULL;
|
||||||
int32_t code = catalogGetHandle(pTscObj->pAppInfo->clusterId, &pCatalog);
|
int32_t code = catalogGetHandle(pTscObj->pAppInfo->clusterId, &pCatalog);
|
||||||
if (code != TSDB_CODE_SUCCESS) {
|
if (code != TSDB_CODE_SUCCESS) {
|
||||||
tscError("fail to get catalog handle, clusterId:%" PRIx64 ", error %s", pTscObj->pAppInfo->clusterId,
|
tscError("fail to get catalog handle, clusterId:0x%" PRIx64 ", error:%s", pTscObj->pAppInfo->clusterId,
|
||||||
tstrerror(code));
|
tstrerror(code));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
code = catalogUpdateVgEpSet(pCatalog, pSendInfo->target.dbFName, pSendInfo->target.vgId, pEpSet);
|
code = catalogUpdateVgEpSet(pCatalog, pSendInfo->target.dbFName, pSendInfo->target.vgId, pEpSet);
|
||||||
if (code != TSDB_CODE_SUCCESS) {
|
if (code != TSDB_CODE_SUCCESS) {
|
||||||
tscError("fail to update catalog vg epset, clusterId:%" PRIx64 ", error %s", pTscObj->pAppInfo->clusterId,
|
tscError("fail to update catalog vg epset, clusterId:0x%" PRIx64 ", error:%s", pTscObj->pAppInfo->clusterId,
|
||||||
tstrerror(code));
|
tstrerror(code));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1789,14 +1789,14 @@ int32_t doProcessMsgFromServerImpl(SRpcMsg* pMsg, SEpSet* pEpSet) {
|
||||||
char tbuf[40] = {0};
|
char tbuf[40] = {0};
|
||||||
TRACE_TO_STR(trace, tbuf);
|
TRACE_TO_STR(trace, tbuf);
|
||||||
|
|
||||||
tscDebug("processMsgFromServer handle %p, message: %s, size:%d, code: %s,QID:%s", pMsg->info.handle,
|
tscDebug("QID:%s, process message from server, handle:%p, message:%s, size:%d, code:%s", tbuf, pMsg->info.handle,
|
||||||
TMSG_INFO(pMsg->msgType), pMsg->contLen, tstrerror(pMsg->code), tbuf);
|
TMSG_INFO(pMsg->msgType), pMsg->contLen, tstrerror(pMsg->code));
|
||||||
|
|
||||||
if (pSendInfo->requestObjRefId != 0) {
|
if (pSendInfo->requestObjRefId != 0) {
|
||||||
SRequestObj* pRequest = (SRequestObj*)taosAcquireRef(clientReqRefPool, pSendInfo->requestObjRefId);
|
SRequestObj* pRequest = (SRequestObj*)taosAcquireRef(clientReqRefPool, pSendInfo->requestObjRefId);
|
||||||
if (pRequest) {
|
if (pRequest) {
|
||||||
if (pRequest->self != pSendInfo->requestObjRefId) {
|
if (pRequest->self != pSendInfo->requestObjRefId) {
|
||||||
tscError("doProcessMsgFromServer pRequest->self:%" PRId64 " != pSendInfo->requestObjRefId:%" PRId64,
|
tscError("doProcessMsgFromServer req:0x%" PRId64 " != pSendInfo->requestObjRefId:0x%" PRId64,
|
||||||
pRequest->self, pSendInfo->requestObjRefId);
|
pRequest->self, pSendInfo->requestObjRefId);
|
||||||
|
|
||||||
if (TSDB_CODE_SUCCESS != taosReleaseRef(clientReqRefPool, pSendInfo->requestObjRefId)) {
|
if (TSDB_CODE_SUCCESS != taosReleaseRef(clientReqRefPool, pSendInfo->requestObjRefId)) {
|
||||||
|
@ -2000,7 +2000,7 @@ void* doFetchRows(SRequestObj* pRequest, bool setupOneRowPtr, bool convertUcs4)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
tscDebug("0x%" PRIx64 " fetch results, numOfRows:%" PRId64 " total Rows:%" PRId64 ", complete:%d,QID:0x%" PRIx64,
|
tscDebug("req:0x%" PRIx64 ", fetch results, numOfRows:%" PRId64 " total Rows:%" PRId64 ", complete:%d, QID:0x%" PRIx64,
|
||||||
pRequest->self, pResInfo->numOfRows, pResInfo->totalRows, pResInfo->completed, pRequest->requestId);
|
pRequest->self, pResInfo->numOfRows, pResInfo->totalRows, pResInfo->completed, pRequest->requestId);
|
||||||
|
|
||||||
STscObj* pTscObj = pRequest->pTscObj;
|
STscObj* pTscObj = pRequest->pTscObj;
|
||||||
|
@ -2952,7 +2952,7 @@ TAOS_RES* taosQueryImpl(TAOS* taos, const char* sql, bool validateOnly, int8_t s
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
tscDebug("taos_query start with sql:%s", sql);
|
tscDebug("connObj:0x%" PRIx64 ", taos_query start with sql:%s", *(int64_t*)taos, sql);
|
||||||
|
|
||||||
SSyncQueryParam* param = taosMemoryCalloc(1, sizeof(SSyncQueryParam));
|
SSyncQueryParam* param = taosMemoryCalloc(1, sizeof(SSyncQueryParam));
|
||||||
if (NULL == param) {
|
if (NULL == param) {
|
||||||
|
@ -2983,7 +2983,7 @@ TAOS_RES* taosQueryImpl(TAOS* taos, const char* sql, bool validateOnly, int8_t s
|
||||||
}
|
}
|
||||||
taosMemoryFree(param);
|
taosMemoryFree(param);
|
||||||
|
|
||||||
tscDebug("taos_query end with sql:%s", sql);
|
tscDebug("connObj:0x%" PRIx64 ", res:%p created, taos_query end", *(int64_t*)taos, pRequest);
|
||||||
|
|
||||||
return pRequest;
|
return pRequest;
|
||||||
}
|
}
|
||||||
|
@ -3024,7 +3024,7 @@ static void fetchCallback(void* pResult, void* param, int32_t code) {
|
||||||
|
|
||||||
SReqResultInfo* pResultInfo = &pRequest->body.resInfo;
|
SReqResultInfo* pResultInfo = &pRequest->body.resInfo;
|
||||||
|
|
||||||
tscDebug("0x%" PRIx64 " enter scheduler fetch cb, code:%d - %s,QID:0x%" PRIx64, pRequest->self, code, tstrerror(code),
|
tscDebug("req:0x%" PRIx64 ", enter scheduler fetch cb, code:%d - %s, QID:0x%" PRIx64, pRequest->self, code, tstrerror(code),
|
||||||
pRequest->requestId);
|
pRequest->requestId);
|
||||||
|
|
||||||
pResultInfo->pData = pResult;
|
pResultInfo->pData = pResult;
|
||||||
|
@ -3047,10 +3047,10 @@ static void fetchCallback(void* pResult, void* param, int32_t code) {
|
||||||
setQueryResultFromRsp(pResultInfo, (const SRetrieveTableRsp*)pResultInfo->pData, pResultInfo->convertUcs4);
|
setQueryResultFromRsp(pResultInfo, (const SRetrieveTableRsp*)pResultInfo->pData, pResultInfo->convertUcs4);
|
||||||
if (pRequest->code != TSDB_CODE_SUCCESS) {
|
if (pRequest->code != TSDB_CODE_SUCCESS) {
|
||||||
pResultInfo->numOfRows = 0;
|
pResultInfo->numOfRows = 0;
|
||||||
tscError("0x%" PRIx64 " fetch results failed, code:%s,QID:0x%" PRIx64, pRequest->self, tstrerror(pRequest->code),
|
tscError("req:0x%" PRIx64 ", fetch results failed, code:%s, QID:0x%" PRIx64, pRequest->self, tstrerror(pRequest->code),
|
||||||
pRequest->requestId);
|
pRequest->requestId);
|
||||||
} else {
|
} else {
|
||||||
tscDebug("0x%" PRIx64 " fetch results, numOfRows:%" PRId64 " total Rows:%" PRId64 ", complete:%d,QID:0x%" PRIx64,
|
tscDebug("req:0x%" PRIx64 ", fetch results, numOfRows:%" PRId64 " total Rows:%" PRId64 ", complete:%d, QID:0x%" PRIx64,
|
||||||
pRequest->self, pResultInfo->numOfRows, pResultInfo->totalRows, pResultInfo->completed,
|
pRequest->self, pResultInfo->numOfRows, pResultInfo->totalRows, pResultInfo->completed,
|
||||||
pRequest->requestId);
|
pRequest->requestId);
|
||||||
|
|
||||||
|
|
|
@ -478,10 +478,10 @@ void taos_close_internal(void *taos) {
|
||||||
}
|
}
|
||||||
|
|
||||||
STscObj *pTscObj = (STscObj *)taos;
|
STscObj *pTscObj = (STscObj *)taos;
|
||||||
tscDebug("0x%" PRIx64 " try to close connection, numOfReq:%d", pTscObj->id, pTscObj->numOfReqs);
|
tscDebug("connObj:0x%" PRIx64 ", try to close connection, numOfReq:%d", pTscObj->id, pTscObj->numOfReqs);
|
||||||
|
|
||||||
if (TSDB_CODE_SUCCESS != taosRemoveRef(clientConnRefPool, pTscObj->id)) {
|
if (TSDB_CODE_SUCCESS != taosRemoveRef(clientConnRefPool, pTscObj->id)) {
|
||||||
tscError("0x%" PRIx64 " failed to remove ref from conn pool", pTscObj->id);
|
tscError("connObj:0x%" PRIx64 ", failed to remove ref from conn pool", pTscObj->id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -535,14 +535,15 @@ void taos_free_result(TAOS_RES *res) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
tscDebug("taos free res %p", res);
|
tscTrace("res:%p, will be freed", res);
|
||||||
|
|
||||||
if (TD_RES_QUERY(res)) {
|
if (TD_RES_QUERY(res)) {
|
||||||
SRequestObj *pRequest = (SRequestObj *)res;
|
SRequestObj *pRequest = (SRequestObj *)res;
|
||||||
tscDebug("0x%" PRIx64 " taos_free_result start to free query", pRequest->requestId);
|
tscDebug("QID:0x%" PRIx64 ", call taos_free_result to free query", pRequest->requestId);
|
||||||
destroyRequest(pRequest);
|
destroyRequest(pRequest);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
SMqRspObj *pRsp = (SMqRspObj *)res;
|
SMqRspObj *pRsp = (SMqRspObj *)res;
|
||||||
if (TD_RES_TMQ(res)) {
|
if (TD_RES_TMQ(res)) {
|
||||||
tDeleteMqDataRsp(&pRsp->dataRsp);
|
tDeleteMqDataRsp(&pRsp->dataRsp);
|
||||||
|
@ -1157,7 +1158,7 @@ static void doAsyncQueryFromAnalyse(SMetaData *pResultMeta, void *param, int32_t
|
||||||
SRequestObj *pRequest = pWrapper->pRequest;
|
SRequestObj *pRequest = pWrapper->pRequest;
|
||||||
SQuery *pQuery = pRequest->pQuery;
|
SQuery *pQuery = pRequest->pQuery;
|
||||||
|
|
||||||
qDebug("0x%" PRIx64 " start to semantic analysis,QID:0x%" PRIx64, pRequest->self, pRequest->requestId);
|
qDebug("req:0x%" PRIx64 ", start to semantic analysis, QID:0x%" PRIx64, pRequest->self, pRequest->requestId);
|
||||||
|
|
||||||
int64_t analyseStart = taosGetTimestampUs();
|
int64_t analyseStart = taosGetTimestampUs();
|
||||||
pRequest->metric.ctgCostUs = analyseStart - pRequest->metric.ctgStart;
|
pRequest->metric.ctgCostUs = analyseStart - pRequest->metric.ctgStart;
|
||||||
|
@ -1276,14 +1277,14 @@ void handleQueryAnslyseRes(SSqlCallbackWrapper *pWrapper, SMetaData *pResultMeta
|
||||||
pRequest->pQuery = NULL;
|
pRequest->pQuery = NULL;
|
||||||
|
|
||||||
if (NEED_CLIENT_HANDLE_ERROR(code)) {
|
if (NEED_CLIENT_HANDLE_ERROR(code)) {
|
||||||
tscDebug("0x%" PRIx64 " client retry to handle the error, code:%d - %s, tryCount:%d,QID:0x%" PRIx64,
|
tscDebug("req:0x%" PRIx64 ", client retry to handle the error, code:%d - %s, tryCount:%d, QID:0x%" PRIx64,
|
||||||
pRequest->self, code, tstrerror(code), pRequest->retry, pRequest->requestId);
|
pRequest->self, code, tstrerror(code), pRequest->retry, pRequest->requestId);
|
||||||
restartAsyncQuery(pRequest, code);
|
restartAsyncQuery(pRequest, code);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// return to app directly
|
// return to app directly
|
||||||
tscError("0x%" PRIx64 " error occurs, code:%s, return to user app,QID:0x%" PRIx64, pRequest->self, tstrerror(code),
|
tscError("req:0x%" PRIx64 ", error occurs, code:%s, return to user app, QID:0x%" PRIx64, pRequest->self, tstrerror(code),
|
||||||
pRequest->requestId);
|
pRequest->requestId);
|
||||||
pRequest->code = code;
|
pRequest->code = code;
|
||||||
returnToUser(pRequest);
|
returnToUser(pRequest);
|
||||||
|
@ -1333,7 +1334,7 @@ static void doAsyncQueryFromParse(SMetaData *pResultMeta, void *param, int32_t c
|
||||||
SQuery *pQuery = pRequest->pQuery;
|
SQuery *pQuery = pRequest->pQuery;
|
||||||
|
|
||||||
pRequest->metric.ctgCostUs += taosGetTimestampUs() - pRequest->metric.ctgStart;
|
pRequest->metric.ctgCostUs += taosGetTimestampUs() - pRequest->metric.ctgStart;
|
||||||
qDebug("0x%" PRIx64 " start to continue parse,QID:0x%" PRIx64 ", code:%s", pRequest->self, pRequest->requestId,
|
qDebug("req:0x%" PRIx64 ", start to continue parse, QID:0x%" PRIx64 ", code:%s", pRequest->self, pRequest->requestId,
|
||||||
tstrerror(code));
|
tstrerror(code));
|
||||||
|
|
||||||
if (code == TSDB_CODE_SUCCESS) {
|
if (code == TSDB_CODE_SUCCESS) {
|
||||||
|
@ -1346,7 +1347,7 @@ static void doAsyncQueryFromParse(SMetaData *pResultMeta, void *param, int32_t c
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
tscError("0x%" PRIx64 " error happens, code:%d - %s,QID:0x%" PRIx64, pWrapper->pRequest->self, code,
|
tscError("req:0x%" PRIx64 ", error happens, code:%d - %s, QID:0x%" PRIx64, pWrapper->pRequest->self, code,
|
||||||
tstrerror(code), pWrapper->pRequest->requestId);
|
tstrerror(code), pWrapper->pRequest->requestId);
|
||||||
destorySqlCallbackWrapper(pWrapper);
|
destorySqlCallbackWrapper(pWrapper);
|
||||||
pRequest->pWrapper = NULL;
|
pRequest->pWrapper = NULL;
|
||||||
|
@ -1363,7 +1364,7 @@ void continueInsertFromCsv(SSqlCallbackWrapper *pWrapper, SRequestObj *pRequest)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
tscError("0x%" PRIx64 " error happens, code:%d - %s,QID:0x%" PRIx64, pWrapper->pRequest->self, code,
|
tscError("req:0x%" PRIx64 ", error happens, code:%d - %s, QID:0x%" PRIx64, pWrapper->pRequest->self, code,
|
||||||
tstrerror(code), pWrapper->pRequest->requestId);
|
tstrerror(code), pWrapper->pRequest->requestId);
|
||||||
destorySqlCallbackWrapper(pWrapper);
|
destorySqlCallbackWrapper(pWrapper);
|
||||||
pRequest->pWrapper = NULL;
|
pRequest->pWrapper = NULL;
|
||||||
|
@ -1469,7 +1470,7 @@ void doAsyncQuery(SRequestObj *pRequest, bool updateMetaForce) {
|
||||||
code = pRequest->prevCode;
|
code = pRequest->prevCode;
|
||||||
terrno = code;
|
terrno = code;
|
||||||
pRequest->code = code;
|
pRequest->code = code;
|
||||||
tscDebug("call sync query cb with code: %s", tstrerror(code));
|
tscDebug("req:0x%" PRIx64 ", call sync query cb with code:%s", pRequest->self, tstrerror(code));
|
||||||
doRequestCallback(pRequest, code);
|
doRequestCallback(pRequest, code);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1484,7 +1485,7 @@ void doAsyncQuery(SRequestObj *pRequest, bool updateMetaForce) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
tscError("0x%" PRIx64 " error happens, code:%d - %s,QID:0x%" PRIx64, pRequest->self, code, tstrerror(code),
|
tscError("req:0x%" PRIx64 ", error happens, code:%d - %s, QID:0x%" PRIx64, pRequest->self, code, tstrerror(code),
|
||||||
pRequest->requestId);
|
pRequest->requestId);
|
||||||
destorySqlCallbackWrapper(pWrapper);
|
destorySqlCallbackWrapper(pWrapper);
|
||||||
pRequest->pWrapper = NULL;
|
pRequest->pWrapper = NULL;
|
||||||
|
@ -1492,11 +1493,11 @@ void doAsyncQuery(SRequestObj *pRequest, bool updateMetaForce) {
|
||||||
pRequest->pQuery = NULL;
|
pRequest->pQuery = NULL;
|
||||||
|
|
||||||
if (NEED_CLIENT_HANDLE_ERROR(code)) {
|
if (NEED_CLIENT_HANDLE_ERROR(code)) {
|
||||||
tscDebug("0x%" PRIx64 " client retry to handle the error, code:%d - %s, tryCount:%d,QID:0x%" PRIx64,
|
tscDebug("req:0x%" PRIx64 ", client retry to handle the error, code:%d - %s, tryCount:%d, QID:0x%" PRIx64,
|
||||||
pRequest->self, code, tstrerror(code), pRequest->retry, pRequest->requestId);
|
pRequest->self, code, tstrerror(code), pRequest->retry, pRequest->requestId);
|
||||||
code = refreshMeta(pRequest->pTscObj, pRequest);
|
code = refreshMeta(pRequest->pTscObj, pRequest);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tscWarn("0x%" PRIx64 " refresh meta failed, code:%d - %s,QID:0x%" PRIx64, pRequest->self, code, tstrerror(code),
|
tscWarn("req:0x%" PRIx64 ", refresh meta failed, code:%d - %s, QID:0x%" PRIx64, pRequest->self, code, tstrerror(code),
|
||||||
pRequest->requestId);
|
pRequest->requestId);
|
||||||
}
|
}
|
||||||
pRequest->prevCode = code;
|
pRequest->prevCode = code;
|
||||||
|
@ -1511,7 +1512,7 @@ void doAsyncQuery(SRequestObj *pRequest, bool updateMetaForce) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void restartAsyncQuery(SRequestObj *pRequest, int32_t code) {
|
void restartAsyncQuery(SRequestObj *pRequest, int32_t code) {
|
||||||
tscInfo("restart request: %s p: %p", pRequest->sqlstr, pRequest);
|
tscInfo("restart request:%s p:%p", pRequest->sqlstr, pRequest);
|
||||||
SRequestObj *pUserReq = pRequest;
|
SRequestObj *pUserReq = pRequest;
|
||||||
(void)acquireRequest(pRequest->self);
|
(void)acquireRequest(pRequest->self);
|
||||||
while (pUserReq) {
|
while (pUserReq) {
|
||||||
|
|
|
@ -97,7 +97,7 @@ static void monitorFreeSlowLogDataEx(void* paras) {
|
||||||
static SAppInstInfo* getAppInstByClusterId(int64_t clusterId) {
|
static SAppInstInfo* getAppInstByClusterId(int64_t clusterId) {
|
||||||
void* p = taosHashGet(appInfo.pInstMapByClusterId, &clusterId, LONG_BYTES);
|
void* p = taosHashGet(appInfo.pInstMapByClusterId, &clusterId, LONG_BYTES);
|
||||||
if (p == NULL) {
|
if (p == NULL) {
|
||||||
tscError("failed to get app inst, clusterId:%" PRIx64, clusterId);
|
tscError("failed to get app inst, clusterId:0x%" PRIx64, clusterId);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
return *(SAppInstInfo**)p;
|
return *(SAppInstInfo**)p;
|
||||||
|
@ -114,7 +114,7 @@ static int32_t monitorReportAsyncCB(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
if (param != NULL) {
|
if (param != NULL) {
|
||||||
MonitorSlowLogData* p = (MonitorSlowLogData*)param;
|
MonitorSlowLogData* p = (MonitorSlowLogData*)param;
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tscError("failed to send slow log:%s, clusterId:%" PRIx64, p->data, p->clusterId);
|
tscError("failed to send slow log:%s, clusterId:0x%" PRIx64, p->data, p->clusterId);
|
||||||
}
|
}
|
||||||
MonitorSlowLogData tmp = {.clusterId = p->clusterId,
|
MonitorSlowLogData tmp = {.clusterId = p->clusterId,
|
||||||
.type = p->type,
|
.type = p->type,
|
||||||
|
@ -241,7 +241,7 @@ void monitorCreateClient(int64_t clusterId) {
|
||||||
MonitorClient* pMonitor = NULL;
|
MonitorClient* pMonitor = NULL;
|
||||||
taosWLockLatch(&monitorLock);
|
taosWLockLatch(&monitorLock);
|
||||||
if (taosHashGet(monitorCounterHash, &clusterId, LONG_BYTES) == NULL) {
|
if (taosHashGet(monitorCounterHash, &clusterId, LONG_BYTES) == NULL) {
|
||||||
tscInfo("[monitor] monitorCreateClient for %" PRIx64, clusterId);
|
tscInfo("clusterId:0x%" PRIx64 ", create monitor", clusterId);
|
||||||
pMonitor = taosMemoryCalloc(1, sizeof(MonitorClient));
|
pMonitor = taosMemoryCalloc(1, sizeof(MonitorClient));
|
||||||
if (pMonitor == NULL) {
|
if (pMonitor == NULL) {
|
||||||
tscError("failed to create monitor client");
|
tscError("failed to create monitor client");
|
||||||
|
@ -293,7 +293,7 @@ void monitorCreateClient(int64_t clusterId) {
|
||||||
tscError("failed to start timer");
|
tscError("failed to start timer");
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
tscInfo("[monitor] monitorCreateClient for %" PRIx64 "finished %p.", clusterId, pMonitor);
|
tscInfo("clusterId:0x%" PRIx64 ", create monitor finished, montitor:%p", clusterId, pMonitor);
|
||||||
}
|
}
|
||||||
taosWUnLockLatch(&monitorLock);
|
taosWUnLockLatch(&monitorLock);
|
||||||
|
|
||||||
|
@ -331,7 +331,7 @@ void monitorCreateClientCounter(int64_t clusterId, const char* name, const char*
|
||||||
}
|
}
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
tscInfo("[monitor] monitorCreateClientCounter %" PRIx64 "(%p):%s : %p.", pMonitor->clusterId, pMonitor, name,
|
tscInfo("clusterId:0x%" PRIx64 ", monitor:%p, create counter:%s:%p", pMonitor->clusterId, pMonitor, name,
|
||||||
newCounter);
|
newCounter);
|
||||||
|
|
||||||
end:
|
end:
|
||||||
|
@ -347,21 +347,21 @@ void monitorCounterInc(int64_t clusterId, const char* counterName, const char**
|
||||||
|
|
||||||
MonitorClient** ppMonitor = (MonitorClient**)taosHashGet(monitorCounterHash, &clusterId, LONG_BYTES);
|
MonitorClient** ppMonitor = (MonitorClient**)taosHashGet(monitorCounterHash, &clusterId, LONG_BYTES);
|
||||||
if (ppMonitor == NULL || *ppMonitor == NULL) {
|
if (ppMonitor == NULL || *ppMonitor == NULL) {
|
||||||
tscError("monitorCounterInc not found pMonitor %" PRId64, clusterId);
|
tscError("clusterId:0x%" PRIx64 ", monitor not found", clusterId);
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
MonitorClient* pMonitor = *ppMonitor;
|
MonitorClient* pMonitor = *ppMonitor;
|
||||||
taos_counter_t** ppCounter = (taos_counter_t**)taosHashGet(pMonitor->counters, counterName, strlen(counterName));
|
taos_counter_t** ppCounter = (taos_counter_t**)taosHashGet(pMonitor->counters, counterName, strlen(counterName));
|
||||||
if (ppCounter == NULL || *ppCounter == NULL) {
|
if (ppCounter == NULL || *ppCounter == NULL) {
|
||||||
tscError("monitorCounterInc not found pCounter %" PRIx64 ":%s.", clusterId, counterName);
|
tscError("clusterId:0x%" PRIx64 ", monitor:%p counter:%s not found", clusterId, pMonitor, counterName);
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
if (taos_counter_inc(*ppCounter, label_values) != 0) {
|
if (taos_counter_inc(*ppCounter, label_values) != 0) {
|
||||||
tscError("monitorCounterInc failed to inc %" PRIx64 ":%s.", clusterId, counterName);
|
tscError("clusterId:0x%" PRIx64 ", monitor:%p counter:%s inc failed", clusterId, pMonitor, counterName);
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
tscDebug("[monitor] monitorCounterInc %" PRIx64 "(%p):%s", pMonitor->clusterId, pMonitor, counterName);
|
tscDebug("clusterId:0x%" PRIx64 ", monitor:%p, counter:%s inc", pMonitor->clusterId, pMonitor, counterName);
|
||||||
|
|
||||||
end:
|
end:
|
||||||
taosWUnLockLatch(&monitorLock);
|
taosWUnLockLatch(&monitorLock);
|
||||||
|
@ -379,11 +379,11 @@ static void monitorWriteSlowLog2File(MonitorSlowLogData* slowLogData, char* tmpP
|
||||||
char path[PATH_MAX] = {0};
|
char path[PATH_MAX] = {0};
|
||||||
char clusterId[32] = {0};
|
char clusterId[32] = {0};
|
||||||
if (snprintf(clusterId, sizeof(clusterId), "%" PRIx64, slowLogData->clusterId) < 0) {
|
if (snprintf(clusterId, sizeof(clusterId), "%" PRIx64, slowLogData->clusterId) < 0) {
|
||||||
tscError("failed to generate clusterId:%" PRIx64, slowLogData->clusterId);
|
tscError("failed to generate clusterId:0x%" PRIx64, slowLogData->clusterId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
taosGetTmpfilePath(tmpPath, clusterId, path);
|
taosGetTmpfilePath(tmpPath, clusterId, path);
|
||||||
tscInfo("[monitor] create slow log file:%s", path);
|
tscInfo("monitor create slow log file:%s", path);
|
||||||
pFile = taosOpenFile(path, TD_FILE_CREATE | TD_FILE_WRITE | TD_FILE_APPEND | TD_FILE_READ | TD_FILE_TRUNC);
|
pFile = taosOpenFile(path, TD_FILE_CREATE | TD_FILE_WRITE | TD_FILE_APPEND | TD_FILE_READ | TD_FILE_TRUNC);
|
||||||
if (pFile == NULL) {
|
if (pFile == NULL) {
|
||||||
tscError("failed to open file:%s since %d", path, terrno);
|
tscError("failed to open file:%s since %d", path, terrno);
|
||||||
|
@ -404,7 +404,7 @@ static void monitorWriteSlowLog2File(MonitorSlowLogData* slowLogData, char* tmpP
|
||||||
pClient->offset = 0;
|
pClient->offset = 0;
|
||||||
pClient->pFile = pFile;
|
pClient->pFile = pFile;
|
||||||
if (taosHashPut(monitorSlowLogHash, &slowLogData->clusterId, LONG_BYTES, &pClient, POINTER_BYTES) != 0) {
|
if (taosHashPut(monitorSlowLogHash, &slowLogData->clusterId, LONG_BYTES, &pClient, POINTER_BYTES) != 0) {
|
||||||
tscError("failed to put clusterId:%" PRId64 " to hash table", slowLogData->clusterId);
|
tscError("failed to put clusterId:0x%" PRIx64 " to hash table", slowLogData->clusterId);
|
||||||
int32_t ret = taosCloseFile(&pFile);
|
int32_t ret = taosCloseFile(&pFile);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
tscError("failed to close file:%p ret:%d", pFile, ret);
|
tscError("failed to close file:%p ret:%d", pFile, ret);
|
||||||
|
@ -428,11 +428,11 @@ static void monitorWriteSlowLog2File(MonitorSlowLogData* slowLogData, char* tmpP
|
||||||
if (taosWriteFile(pFile, slowLogData->data, strlen(slowLogData->data) + 1) < 0) {
|
if (taosWriteFile(pFile, slowLogData->data, strlen(slowLogData->data) + 1) < 0) {
|
||||||
tscError("failed to write len to file:%p since %s", pFile, terrstr());
|
tscError("failed to write len to file:%p since %s", pFile, terrstr());
|
||||||
}
|
}
|
||||||
tscDebug("[monitor] write slow log to file:%p, clusterId:%" PRIx64, pFile, slowLogData->clusterId);
|
tscDebug("monitor write slow log to file:%p, clusterId:0x%" PRIx64, pFile, slowLogData->clusterId);
|
||||||
}
|
}
|
||||||
|
|
||||||
static char* readFile(TdFilePtr pFile, int64_t* offset, int64_t size) {
|
static char* readFile(TdFilePtr pFile, int64_t* offset, int64_t size) {
|
||||||
tscDebug("[monitor] readFile slow begin pFile:%p, offset:%" PRId64 ", size:%" PRId64, pFile, *offset, size);
|
tscDebug("monitor readFile slow begin pFile:%p, offset:%" PRId64 ", size:%" PRId64, pFile, *offset, size);
|
||||||
if (taosLSeekFile(pFile, *offset, SEEK_SET) < 0) {
|
if (taosLSeekFile(pFile, *offset, SEEK_SET) < 0) {
|
||||||
tscError("failed to seek file:%p code: %d", pFile, terrno);
|
tscError("failed to seek file:%p code: %d", pFile, terrno);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -481,7 +481,7 @@ static char* readFile(TdFilePtr pFile, int64_t* offset, int64_t size) {
|
||||||
*offset += (len + 1);
|
*offset += (len + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
tscDebug("[monitor] readFile slow log end, data:%s, offset:%" PRId64, pCont, *offset);
|
tscDebug("monitor readFile slow log end, data:%s, offset:%" PRId64, pCont, *offset);
|
||||||
return pCont;
|
return pCont;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -525,7 +525,7 @@ static int32_t monitorReadSend(int64_t clusterId, TdFilePtr pFile, int64_t* offs
|
||||||
SLOW_LOG_QUEUE_TYPE type, char* fileName) {
|
SLOW_LOG_QUEUE_TYPE type, char* fileName) {
|
||||||
SAppInstInfo* pInst = getAppInstByClusterId(clusterId);
|
SAppInstInfo* pInst = getAppInstByClusterId(clusterId);
|
||||||
if (pInst == NULL) {
|
if (pInst == NULL) {
|
||||||
tscError("failed to get app instance by clusterId:%" PRId64, clusterId);
|
tscError("failed to get app instance by clusterId:0x%" PRIx64, clusterId);
|
||||||
if (taosCloseFile(&pFile) != 0) {
|
if (taosCloseFile(&pFile) != 0) {
|
||||||
tscError("failed to close file:%p", pFile);
|
tscError("failed to close file:%p", pFile);
|
||||||
}
|
}
|
||||||
|
@ -546,13 +546,13 @@ static void monitorSendSlowLogAtBeginning(int64_t clusterId, char** fileName, Td
|
||||||
int64_t size = getFileSize(*fileName);
|
int64_t size = getFileSize(*fileName);
|
||||||
if (size <= offset) {
|
if (size <= offset) {
|
||||||
processFileInTheEnd(pFile, *fileName);
|
processFileInTheEnd(pFile, *fileName);
|
||||||
tscDebug("[monitor] monitorSendSlowLogAtBeginning delete file:%s", *fileName);
|
tscDebug("monitor delete file:%s", *fileName);
|
||||||
} else {
|
} else {
|
||||||
int32_t code = monitorReadSend(clusterId, pFile, &offset, size, SLOW_LOG_READ_BEGINNIG, *fileName);
|
int32_t code = monitorReadSend(clusterId, pFile, &offset, size, SLOW_LOG_READ_BEGINNIG, *fileName);
|
||||||
if (code == 0) {
|
if (code == 0) {
|
||||||
tscDebug("[monitor] monitorSendSlowLogAtBeginning send slow log succ, clusterId:%" PRId64, clusterId);
|
tscDebug("monitor send slow log succ, clusterId:0x%" PRIx64, clusterId);
|
||||||
} else {
|
} else {
|
||||||
tscError("[monitor] monitorSendSlowLogAtBeginning send slow log failed, clusterId:%" PRId64 ",ret:%d", clusterId,
|
tscError("monitor send slow log failed, clusterId:0x%" PRIx64 ", ret:%d", clusterId,
|
||||||
code);
|
code);
|
||||||
}
|
}
|
||||||
*fileName = NULL;
|
*fileName = NULL;
|
||||||
|
@ -562,12 +562,12 @@ static void monitorSendSlowLogAtBeginning(int64_t clusterId, char** fileName, Td
|
||||||
static void monitorSendSlowLogAtRunning(int64_t clusterId) {
|
static void monitorSendSlowLogAtRunning(int64_t clusterId) {
|
||||||
void* tmp = taosHashGet(monitorSlowLogHash, &clusterId, LONG_BYTES);
|
void* tmp = taosHashGet(monitorSlowLogHash, &clusterId, LONG_BYTES);
|
||||||
if (tmp == NULL) {
|
if (tmp == NULL) {
|
||||||
tscError("failed to get slow log client by clusterId:%" PRId64, clusterId);
|
tscError("failed to get slow log client by clusterId:0x%" PRIx64, clusterId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
SlowLogClient* pClient = (*(SlowLogClient**)tmp);
|
SlowLogClient* pClient = (*(SlowLogClient**)tmp);
|
||||||
if (pClient == NULL) {
|
if (pClient == NULL) {
|
||||||
tscError("failed to get slow log client by clusterId:%" PRId64, clusterId);
|
tscError("failed to get slow log client by clusterId:0x%" PRIx64, clusterId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int64_t size = getFileSize(pClient->path);
|
int64_t size = getFileSize(pClient->path);
|
||||||
|
@ -575,11 +575,11 @@ static void monitorSendSlowLogAtRunning(int64_t clusterId) {
|
||||||
if (taosFtruncateFile(pClient->pFile, 0) < 0) {
|
if (taosFtruncateFile(pClient->pFile, 0) < 0) {
|
||||||
tscError("failed to truncate file:%p code: %d", pClient->pFile, terrno);
|
tscError("failed to truncate file:%p code: %d", pClient->pFile, terrno);
|
||||||
}
|
}
|
||||||
tscDebug("[monitor] monitorSendSlowLogAtRunning truncate file to 0 file:%p", pClient->pFile);
|
tscDebug("monitor truncate file to 0 file:%p", pClient->pFile);
|
||||||
pClient->offset = 0;
|
pClient->offset = 0;
|
||||||
} else {
|
} else {
|
||||||
int32_t code = monitorReadSend(clusterId, pClient->pFile, &pClient->offset, size, SLOW_LOG_READ_RUNNING, NULL);
|
int32_t code = monitorReadSend(clusterId, pClient->pFile, &pClient->offset, size, SLOW_LOG_READ_RUNNING, NULL);
|
||||||
tscDebug("[monitor] monitorSendSlowLogAtRunning send slow log clusterId:%" PRId64 ",ret:%d", clusterId, code);
|
tscDebug("monitor send slow log clusterId:0x%" PRIx64 ", ret:%d", clusterId, code);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -596,13 +596,13 @@ static bool monitorSendSlowLogAtQuit(int64_t clusterId) {
|
||||||
if (size <= pClient->offset) {
|
if (size <= pClient->offset) {
|
||||||
processFileInTheEnd(pClient->pFile, pClient->path);
|
processFileInTheEnd(pClient->pFile, pClient->path);
|
||||||
pClient->pFile = NULL;
|
pClient->pFile = NULL;
|
||||||
tscInfo("[monitor] monitorSendSlowLogAtQuit remove file:%s", pClient->path);
|
tscInfo("monitor remove file:%s", pClient->path);
|
||||||
if ((--quitCnt) == 0) {
|
if ((--quitCnt) == 0) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
int32_t code = monitorReadSend(clusterId, pClient->pFile, &pClient->offset, size, SLOW_LOG_READ_QUIT, NULL);
|
int32_t code = monitorReadSend(clusterId, pClient->pFile, &pClient->offset, size, SLOW_LOG_READ_QUIT, NULL);
|
||||||
tscDebug("[monitor] monitorSendSlowLogAtQuit send slow log clusterId:%" PRId64 ",ret:%d", clusterId, code);
|
tscDebug("monitor send slow log clusterId:0x%" PRIx64 ", ret:%d", clusterId, code);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -620,7 +620,7 @@ static void monitorSendAllSlowLogAtQuit() {
|
||||||
} else if (pClient->offset == 0) {
|
} else if (pClient->offset == 0) {
|
||||||
int64_t* clusterId = (int64_t*)taosHashGetKey(pIter, NULL);
|
int64_t* clusterId = (int64_t*)taosHashGetKey(pIter, NULL);
|
||||||
int32_t code = monitorReadSend(*clusterId, pClient->pFile, &pClient->offset, size, SLOW_LOG_READ_QUIT, NULL);
|
int32_t code = monitorReadSend(*clusterId, pClient->pFile, &pClient->offset, size, SLOW_LOG_READ_QUIT, NULL);
|
||||||
tscDebug("[monitor] monitorSendAllSlowLogAtQuit send slow log clusterId:%" PRId64 ",ret:%d", *clusterId, code);
|
tscDebug("monitor send slow log clusterId:0x%" PRIx64 ", ret:%d", *clusterId, code);
|
||||||
if (code == 0) {
|
if (code == 0) {
|
||||||
quitCnt++;
|
quitCnt++;
|
||||||
}
|
}
|
||||||
|
@ -669,7 +669,7 @@ static void monitorSendAllSlowLog() {
|
||||||
int64_t size = getFileSize(pClient->path);
|
int64_t size = getFileSize(pClient->path);
|
||||||
if (size <= 0) {
|
if (size <= 0) {
|
||||||
if (size < 0) {
|
if (size < 0) {
|
||||||
tscError("[monitor] monitorSendAllSlowLog failed to get file size:%s, err:%d", pClient->path, errno);
|
tscError("monitor failed to get file size:%s, err:%d", pClient->path, errno);
|
||||||
if (errno == ENOENT) {
|
if (errno == ENOENT) {
|
||||||
processFileRemoved(pClient);
|
processFileRemoved(pClient);
|
||||||
}
|
}
|
||||||
|
@ -677,7 +677,7 @@ static void monitorSendAllSlowLog() {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
int32_t code = monitorReadSend(*clusterId, pClient->pFile, &pClient->offset, size, SLOW_LOG_READ_RUNNING, NULL);
|
int32_t code = monitorReadSend(*clusterId, pClient->pFile, &pClient->offset, size, SLOW_LOG_READ_RUNNING, NULL);
|
||||||
tscDebug("[monitor] monitorSendAllSlowLog send slow log clusterId:%" PRId64 ",ret:%d", *clusterId, code);
|
tscDebug("monitor send slow log clusterId:0x%" PRIx64 ", ret:%d", *clusterId, code);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -686,7 +686,7 @@ static void monitorSendAllSlowLogFromTempDir(int64_t clusterId) {
|
||||||
SAppInstInfo* pInst = getAppInstByClusterId((int64_t)clusterId);
|
SAppInstInfo* pInst = getAppInstByClusterId((int64_t)clusterId);
|
||||||
|
|
||||||
if (pInst == NULL || !pInst->serverCfg.monitorParas.tsEnableMonitor) {
|
if (pInst == NULL || !pInst->serverCfg.monitorParas.tsEnableMonitor) {
|
||||||
tscInfo("[monitor] monitor is disabled, skip send slow log");
|
tscInfo("monitor is disabled, skip send slow log");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
char namePrefix[PATH_MAX] = {0};
|
char namePrefix[PATH_MAX] = {0};
|
||||||
|
@ -837,7 +837,7 @@ static void tscMonitorStop() {
|
||||||
int32_t monitorInit() {
|
int32_t monitorInit() {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
|
|
||||||
tscInfo("[monitor] tscMonitor init");
|
tscInfo("monitor init");
|
||||||
monitorCounterHash =
|
monitorCounterHash =
|
||||||
(SHashObj*)taosHashInit(64, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BIGINT), false, HASH_ENTRY_LOCK);
|
(SHashObj*)taosHashInit(64, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BIGINT), false, HASH_ENTRY_LOCK);
|
||||||
if (monitorCounterHash == NULL) {
|
if (monitorCounterHash == NULL) {
|
||||||
|
@ -887,7 +887,7 @@ int32_t monitorInit() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void monitorClose() {
|
void monitorClose() {
|
||||||
tscInfo("[monitor] tscMonitor close");
|
tscInfo("monitor close");
|
||||||
taosWLockLatch(&monitorLock);
|
taosWLockLatch(&monitorLock);
|
||||||
atomic_store_32(&monitorFlag, 1);
|
atomic_store_32(&monitorFlag, 1);
|
||||||
tscMonitorStop();
|
tscMonitorStop();
|
||||||
|
@ -907,17 +907,17 @@ int32_t monitorPutData2MonitorQueue(MonitorSlowLogData data) {
|
||||||
MonitorSlowLogData* slowLogData = NULL;
|
MonitorSlowLogData* slowLogData = NULL;
|
||||||
|
|
||||||
if (atomic_load_32(&monitorFlag) == 1) {
|
if (atomic_load_32(&monitorFlag) == 1) {
|
||||||
tscError("[monitor] slow log thread is exiting");
|
tscError("monitor slow log thread is exiting");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
code = taosAllocateQitem(sizeof(MonitorSlowLogData), DEF_QITEM, 0, (void**)&slowLogData);
|
code = taosAllocateQitem(sizeof(MonitorSlowLogData), DEF_QITEM, 0, (void**)&slowLogData);
|
||||||
if (code) {
|
if (code) {
|
||||||
tscError("[monitor] failed to allocate slow log data");
|
tscError("monitor failed to allocate slow log data");
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
*slowLogData = data;
|
*slowLogData = data;
|
||||||
tscDebug("[monitor] write slow log to queue, clusterId:%" PRIx64 " type:%s, data:%s", slowLogData->clusterId,
|
tscDebug("monitor write slow log to queue, clusterId:0x%" PRIx64 " type:%s, data:%s", slowLogData->clusterId,
|
||||||
queueTypeStr[slowLogData->type], slowLogData->data);
|
queueTypeStr[slowLogData->type], slowLogData->data);
|
||||||
if (taosWriteQitem(monitorQueue, slowLogData) == 0) {
|
if (taosWriteQitem(monitorQueue, slowLogData) == 0) {
|
||||||
if (tsem2_post(&monitorSem) != 0) {
|
if (tsem2_post(&monitorSem) != 0) {
|
||||||
|
|
|
@ -123,7 +123,7 @@ int32_t processConnectRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int32_t i = 0; i < connectRsp.epSet.numOfEps; ++i) {
|
for (int32_t i = 0; i < connectRsp.epSet.numOfEps; ++i) {
|
||||||
tscDebug("0x%" PRIx64 " epSet.fqdn[%d]:%s port:%d, connObj:0x%" PRIx64, pRequest->requestId, i,
|
tscDebug("QID:0x%" PRIx64 ", epSet.fqdn[%d]:%s port:%d, connObj:0x%" PRIx64, pRequest->requestId, i,
|
||||||
connectRsp.epSet.eps[i].fqdn, connectRsp.epSet.eps[i].port, pTscObj->id);
|
connectRsp.epSet.eps[i].fqdn, connectRsp.epSet.eps[i].port, pTscObj->id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -137,7 +137,7 @@ int32_t processConnectRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
pTscObj->pAppInfo->clusterId = connectRsp.clusterId;
|
pTscObj->pAppInfo->clusterId = connectRsp.clusterId;
|
||||||
pTscObj->pAppInfo->serverCfg.monitorParas = connectRsp.monitorParas;
|
pTscObj->pAppInfo->serverCfg.monitorParas = connectRsp.monitorParas;
|
||||||
pTscObj->pAppInfo->serverCfg.enableAuditDelete = connectRsp.enableAuditDelete;
|
pTscObj->pAppInfo->serverCfg.enableAuditDelete = connectRsp.enableAuditDelete;
|
||||||
tscDebug("[monitor] paras from connect rsp, clusterId:%" PRIx64 " monitorParas threshold:%d scope:%d",
|
tscDebug("monitor paras from connect rsp, clusterId:0x%" PRIx64 ", threshold:%d scope:%d",
|
||||||
connectRsp.clusterId, connectRsp.monitorParas.tsSlowLogThreshold, connectRsp.monitorParas.tsSlowLogScope);
|
connectRsp.clusterId, connectRsp.monitorParas.tsSlowLogThreshold, connectRsp.monitorParas.tsSlowLogScope);
|
||||||
lastClusterId = connectRsp.clusterId;
|
lastClusterId = connectRsp.clusterId;
|
||||||
|
|
||||||
|
@ -164,7 +164,7 @@ int32_t processConnectRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
SAppHbMgr* pAppHbMgr = taosArrayGetP(clientHbMgr.appHbMgrs, pTscObj->appHbMgrIdx);
|
SAppHbMgr* pAppHbMgr = taosArrayGetP(clientHbMgr.appHbMgrs, pTscObj->appHbMgrIdx);
|
||||||
if (pAppHbMgr) {
|
if (pAppHbMgr) {
|
||||||
if (hbRegisterConn(pAppHbMgr, pTscObj->id, connectRsp.clusterId, connectRsp.connType) != 0) {
|
if (hbRegisterConn(pAppHbMgr, pTscObj->id, connectRsp.clusterId, connectRsp.connType) != 0) {
|
||||||
tscError("0x%" PRIx64 " failed to register conn to hbMgr", pRequest->requestId);
|
tscError("QID:0x%" PRIx64 ", failed to register conn to hbMgr", pRequest->requestId);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
(void)taosThreadMutexUnlock(&clientHbMgr.lock);
|
(void)taosThreadMutexUnlock(&clientHbMgr.lock);
|
||||||
|
@ -173,7 +173,7 @@ int32_t processConnectRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
}
|
}
|
||||||
(void)taosThreadMutexUnlock(&clientHbMgr.lock);
|
(void)taosThreadMutexUnlock(&clientHbMgr.lock);
|
||||||
|
|
||||||
tscDebug("0x%" PRIx64 " clusterId:%" PRId64 ", totalConn:%" PRId64, pRequest->requestId, connectRsp.clusterId,
|
tscDebug("QID:0x%" PRIx64 ", clusterId:0x%" PRIx64 ", totalConn:%" PRId64, pRequest->requestId, connectRsp.clusterId,
|
||||||
pTscObj->pAppInfo->numOfConns);
|
pTscObj->pAppInfo->numOfConns);
|
||||||
|
|
||||||
End:
|
End:
|
||||||
|
@ -229,11 +229,11 @@ int32_t processCreateDbRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
char dbFName[TSDB_DB_FNAME_LEN];
|
char dbFName[TSDB_DB_FNAME_LEN];
|
||||||
(void)snprintf(dbFName, sizeof(dbFName) - 1, "%d.%s", pTscObj->acctId, TSDB_INFORMATION_SCHEMA_DB);
|
(void)snprintf(dbFName, sizeof(dbFName) - 1, "%d.%s", pTscObj->acctId, TSDB_INFORMATION_SCHEMA_DB);
|
||||||
if (catalogRefreshDBVgInfo(pCatalog, &conn, dbFName) != 0) {
|
if (catalogRefreshDBVgInfo(pCatalog, &conn, dbFName) != 0) {
|
||||||
tscError("0x%" PRIx64 " failed to refresh db vg info", pRequest->requestId);
|
tscError("QID:0x%" PRIx64 ", failed to refresh db vg info", pRequest->requestId);
|
||||||
}
|
}
|
||||||
(void)snprintf(dbFName, sizeof(dbFName) - 1, "%d.%s", pTscObj->acctId, TSDB_PERFORMANCE_SCHEMA_DB);
|
(void)snprintf(dbFName, sizeof(dbFName) - 1, "%d.%s", pTscObj->acctId, TSDB_PERFORMANCE_SCHEMA_DB);
|
||||||
if (catalogRefreshDBVgInfo(pCatalog, &conn, dbFName) != 0) {
|
if (catalogRefreshDBVgInfo(pCatalog, &conn, dbFName) != 0) {
|
||||||
tscError("0x%" PRIx64 " failed to refresh db vg info", pRequest->requestId);
|
tscError("QID:0x%" PRIx64 ", failed to refresh db vg info", pRequest->requestId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -254,7 +254,7 @@ int32_t processUseDbRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
TSDB_CODE_MND_DB_IN_DROPPING == code) {
|
TSDB_CODE_MND_DB_IN_DROPPING == code) {
|
||||||
SUseDbRsp usedbRsp = {0};
|
SUseDbRsp usedbRsp = {0};
|
||||||
if (tDeserializeSUseDbRsp(pMsg->pData, pMsg->len, &usedbRsp) != 0) {
|
if (tDeserializeSUseDbRsp(pMsg->pData, pMsg->len, &usedbRsp) != 0) {
|
||||||
tscError("0x%" PRIx64 " deserialize SUseDbRsp failed", pRequest->requestId);
|
tscError("QID:0x%" PRIx64 ", deserialize SUseDbRsp failed", pRequest->requestId);
|
||||||
}
|
}
|
||||||
struct SCatalog* pCatalog = NULL;
|
struct SCatalog* pCatalog = NULL;
|
||||||
|
|
||||||
|
@ -262,11 +262,11 @@ int32_t processUseDbRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
int64_t clusterId = pRequest->pTscObj->pAppInfo->clusterId;
|
int64_t clusterId = pRequest->pTscObj->pAppInfo->clusterId;
|
||||||
int32_t code1 = catalogGetHandle(clusterId, &pCatalog);
|
int32_t code1 = catalogGetHandle(clusterId, &pCatalog);
|
||||||
if (code1 != TSDB_CODE_SUCCESS) {
|
if (code1 != TSDB_CODE_SUCCESS) {
|
||||||
tscWarn("0x%" PRIx64 "catalogGetHandle failed, clusterId:%" PRIx64 ", error:%s", pRequest->requestId, clusterId,
|
tscWarn("QID:0x%" PRIx64 "catalogGetHandle failed, clusterId:0x%" PRIx64 ", error:%s", pRequest->requestId, clusterId,
|
||||||
tstrerror(code1));
|
tstrerror(code1));
|
||||||
} else {
|
} else {
|
||||||
if (catalogRemoveDB(pCatalog, usedbRsp.db, usedbRsp.uid) != 0) {
|
if (catalogRemoveDB(pCatalog, usedbRsp.db, usedbRsp.uid) != 0) {
|
||||||
tscError("0x%" PRIx64 "catalogRemoveDB failed, db:%s, uid:%" PRId64, pRequest->requestId, usedbRsp.db,
|
tscError("QID:0x%" PRIx64 "catalogRemoveDB failed, db:%s, uid:%" PRId64, pRequest->requestId, usedbRsp.db,
|
||||||
usedbRsp.uid);
|
usedbRsp.uid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -293,7 +293,7 @@ int32_t processUseDbRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
|
|
||||||
SUseDbRsp usedbRsp = {0};
|
SUseDbRsp usedbRsp = {0};
|
||||||
if (tDeserializeSUseDbRsp(pMsg->pData, pMsg->len, &usedbRsp) != 0) {
|
if (tDeserializeSUseDbRsp(pMsg->pData, pMsg->len, &usedbRsp) != 0) {
|
||||||
tscError("0x%" PRIx64 " deserialize SUseDbRsp failed", pRequest->requestId);
|
tscError("QID:0x%" PRIx64 ", deserialize SUseDbRsp failed", pRequest->requestId);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strlen(usedbRsp.db) == 0) {
|
if (strlen(usedbRsp.db) == 0) {
|
||||||
|
@ -321,7 +321,7 @@ int32_t processUseDbRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
|
|
||||||
SName name = {0};
|
SName name = {0};
|
||||||
if (tNameFromString(&name, usedbRsp.db, T_NAME_ACCT | T_NAME_DB) != TSDB_CODE_SUCCESS) {
|
if (tNameFromString(&name, usedbRsp.db, T_NAME_ACCT | T_NAME_DB) != TSDB_CODE_SUCCESS) {
|
||||||
tscError("0x%" PRIx64 " failed to parse db name:%s", pRequest->requestId, usedbRsp.db);
|
tscError("QID:0x%" PRIx64 ", failed to parse db name:%s", pRequest->requestId, usedbRsp.db);
|
||||||
}
|
}
|
||||||
|
|
||||||
SUseDbOutput output = {0};
|
SUseDbOutput output = {0};
|
||||||
|
@ -330,17 +330,17 @@ int32_t processUseDbRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
terrno = code;
|
terrno = code;
|
||||||
if (output.dbVgroup) taosHashCleanup(output.dbVgroup->vgHash);
|
if (output.dbVgroup) taosHashCleanup(output.dbVgroup->vgHash);
|
||||||
|
|
||||||
tscError("0x%" PRIx64 " failed to build use db output since %s", pRequest->requestId, terrstr());
|
tscError("QID:0x%" PRIx64 ", failed to build use db output since %s", pRequest->requestId, terrstr());
|
||||||
} else if (output.dbVgroup && output.dbVgroup->vgHash) {
|
} else if (output.dbVgroup && output.dbVgroup->vgHash) {
|
||||||
struct SCatalog* pCatalog = NULL;
|
struct SCatalog* pCatalog = NULL;
|
||||||
|
|
||||||
int32_t code1 = catalogGetHandle(pRequest->pTscObj->pAppInfo->clusterId, &pCatalog);
|
int32_t code1 = catalogGetHandle(pRequest->pTscObj->pAppInfo->clusterId, &pCatalog);
|
||||||
if (code1 != TSDB_CODE_SUCCESS) {
|
if (code1 != TSDB_CODE_SUCCESS) {
|
||||||
tscWarn("catalogGetHandle failed, clusterId:%" PRIx64 ", error:%s", pRequest->pTscObj->pAppInfo->clusterId,
|
tscWarn("catalogGetHandle failed, clusterId:0x%" PRIx64 ", error:%s", pRequest->pTscObj->pAppInfo->clusterId,
|
||||||
tstrerror(code1));
|
tstrerror(code1));
|
||||||
} else {
|
} else {
|
||||||
if (catalogUpdateDBVgInfo(pCatalog, output.db, output.dbId, output.dbVgroup) != 0) {
|
if (catalogUpdateDBVgInfo(pCatalog, output.db, output.dbId, output.dbVgroup) != 0) {
|
||||||
tscError("0x%" PRIx64 " failed to update db vg info, db:%s, dbId:%" PRId64, pRequest->requestId, output.db,
|
tscError("QID:0x%" PRIx64 ", failed to update db vg info, db:%s, dbId:%" PRId64, pRequest->requestId, output.db,
|
||||||
output.dbId);
|
output.dbId);
|
||||||
}
|
}
|
||||||
output.dbVgroup = NULL;
|
output.dbVgroup = NULL;
|
||||||
|
@ -352,7 +352,7 @@ int32_t processUseDbRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
|
|
||||||
char db[TSDB_DB_NAME_LEN] = {0};
|
char db[TSDB_DB_NAME_LEN] = {0};
|
||||||
if (tNameGetDbName(&name, db) != TSDB_CODE_SUCCESS) {
|
if (tNameGetDbName(&name, db) != TSDB_CODE_SUCCESS) {
|
||||||
tscError("0x%" PRIx64 " failed to get db name since %s", pRequest->requestId, tstrerror(code));
|
tscError("QID:0x%" PRIx64 ", failed to get db name since %s", pRequest->requestId, tstrerror(code));
|
||||||
}
|
}
|
||||||
|
|
||||||
setConnectionDB(pRequest->pTscObj, db);
|
setConnectionDB(pRequest->pTscObj, db);
|
||||||
|
@ -434,13 +434,13 @@ int32_t processDropDbRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
} else {
|
} else {
|
||||||
SDropDbRsp dropdbRsp = {0};
|
SDropDbRsp dropdbRsp = {0};
|
||||||
if (tDeserializeSDropDbRsp(pMsg->pData, pMsg->len, &dropdbRsp) != 0) {
|
if (tDeserializeSDropDbRsp(pMsg->pData, pMsg->len, &dropdbRsp) != 0) {
|
||||||
tscError("0x%" PRIx64 " deserialize SDropDbRsp failed", pRequest->requestId);
|
tscError("QID:0x%" PRIx64 ", deserialize SDropDbRsp failed", pRequest->requestId);
|
||||||
}
|
}
|
||||||
struct SCatalog* pCatalog = NULL;
|
struct SCatalog* pCatalog = NULL;
|
||||||
code = catalogGetHandle(pRequest->pTscObj->pAppInfo->clusterId, &pCatalog);
|
code = catalogGetHandle(pRequest->pTscObj->pAppInfo->clusterId, &pCatalog);
|
||||||
if (TSDB_CODE_SUCCESS == code) {
|
if (TSDB_CODE_SUCCESS == code) {
|
||||||
if (catalogRemoveDB(pCatalog, dropdbRsp.db, dropdbRsp.uid) != 0) {
|
if (catalogRemoveDB(pCatalog, dropdbRsp.db, dropdbRsp.uid) != 0) {
|
||||||
tscError("0x%" PRIx64 " failed to remove db:%s", pRequest->requestId, dropdbRsp.db);
|
tscError("QID:0x%" PRIx64 ", failed to remove db:%s", pRequest->requestId, dropdbRsp.db);
|
||||||
}
|
}
|
||||||
STscObj* pTscObj = pRequest->pTscObj;
|
STscObj* pTscObj = pRequest->pTscObj;
|
||||||
|
|
||||||
|
@ -451,11 +451,11 @@ int32_t processDropDbRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
char dbFName[TSDB_DB_FNAME_LEN] = {0};
|
char dbFName[TSDB_DB_FNAME_LEN] = {0};
|
||||||
(void)snprintf(dbFName, sizeof(dbFName) - 1, "%d.%s", pTscObj->acctId, TSDB_INFORMATION_SCHEMA_DB);
|
(void)snprintf(dbFName, sizeof(dbFName) - 1, "%d.%s", pTscObj->acctId, TSDB_INFORMATION_SCHEMA_DB);
|
||||||
if (catalogRefreshDBVgInfo(pCatalog, &conn, dbFName) != TSDB_CODE_SUCCESS) {
|
if (catalogRefreshDBVgInfo(pCatalog, &conn, dbFName) != TSDB_CODE_SUCCESS) {
|
||||||
tscError("0x%" PRIx64 " failed to refresh db vg info, db:%s", pRequest->requestId, dbFName);
|
tscError("QID:0x%" PRIx64 ", failed to refresh db vg info, db:%s", pRequest->requestId, dbFName);
|
||||||
}
|
}
|
||||||
(void)snprintf(dbFName, sizeof(dbFName) - 1, "%d.%s", pTscObj->acctId, TSDB_PERFORMANCE_SCHEMA_DB);
|
(void)snprintf(dbFName, sizeof(dbFName) - 1, "%d.%s", pTscObj->acctId, TSDB_PERFORMANCE_SCHEMA_DB);
|
||||||
if (catalogRefreshDBVgInfo(pCatalog, &conn, dbFName) != 0) {
|
if (catalogRefreshDBVgInfo(pCatalog, &conn, dbFName) != 0) {
|
||||||
tscError("0x%" PRIx64 " failed to refresh db vg info, db:%s", pRequest->requestId, dbFName);
|
tscError("QID:0x%" PRIx64 ", failed to refresh db vg info, db:%s", pRequest->requestId, dbFName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,7 +47,7 @@
|
||||||
} \
|
} \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define LOG_ID_TAG "connId:0x%" PRIx64 ",QID:0x%" PRIx64
|
#define LOG_ID_TAG "connId:0x%" PRIx64 ", QID:0x%" PRIx64
|
||||||
#define LOG_ID_VALUE *(int64_t*)taos, pRequest->requestId
|
#define LOG_ID_VALUE *(int64_t*)taos, pRequest->requestId
|
||||||
|
|
||||||
#define TMQ_META_VERSION "1.0"
|
#define TMQ_META_VERSION "1.0"
|
||||||
|
|
|
@ -573,7 +573,7 @@ int32_t stmtRebuildDataBlock(STscStmt* pStmt, STableDataCxt* pDataBlock, STableD
|
||||||
STMT_ERR_RET(stmtTryAddTableVgroupInfo(pStmt, &vgId));
|
STMT_ERR_RET(stmtTryAddTableVgroupInfo(pStmt, &vgId));
|
||||||
STMT_ERR_RET(qRebuildStmtDataBlock(newBlock, pDataBlock, uid, suid, vgId, pStmt->sql.autoCreateTbl));
|
STMT_ERR_RET(qRebuildStmtDataBlock(newBlock, pDataBlock, uid, suid, vgId, pStmt->sql.autoCreateTbl));
|
||||||
|
|
||||||
STMT_DLOG("tableDataCxt rebuilt, uid:%" PRId64 ", vgId:%d", uid, vgId);
|
STMT_DLOG("uid:%" PRId64 ", rebuild table data context, vgId:%d", uid, vgId);
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
|
@ -499,7 +499,7 @@ static int32_t stmtRebuildDataBlock(STscStmt2* pStmt, STableDataCxt* pDataBlock,
|
||||||
STMT_ERR_RET(stmtTryAddTableVgroupInfo(pStmt, &vgId));
|
STMT_ERR_RET(stmtTryAddTableVgroupInfo(pStmt, &vgId));
|
||||||
STMT_ERR_RET(qRebuildStmtDataBlock(newBlock, pDataBlock, uid, suid, vgId, pStmt->sql.autoCreateTbl));
|
STMT_ERR_RET(qRebuildStmtDataBlock(newBlock, pDataBlock, uid, suid, vgId, pStmt->sql.autoCreateTbl));
|
||||||
|
|
||||||
STMT_DLOG("tableDataCxt rebuilt, uid:%" PRId64 ", vgId:%d", uid, vgId);
|
STMT_DLOG("uid:%" PRId64 ", rebuild table data context, vgId:%d", uid, vgId);
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1474,7 +1474,7 @@ static int32_t askEp(tmq_t* pTmq, void* param, bool sync, bool updateEpSet) {
|
||||||
pParam = NULL;
|
pParam = NULL;
|
||||||
|
|
||||||
SEpSet epSet = getEpSet_s(&pTmq->pTscObj->pAppInfo->mgmtEp);
|
SEpSet epSet = getEpSet_s(&pTmq->pTscObj->pAppInfo->mgmtEp);
|
||||||
tqDebugC("consumer:0x%" PRIx64 " ask ep from mnode,QID:0x%" PRIx64, pTmq->consumerId, sendInfo->requestId);
|
tqDebugC("consumer:0x%" PRIx64 " ask ep from mnode, QID:0x%" PRIx64, pTmq->consumerId, sendInfo->requestId);
|
||||||
code = asyncSendMsgToServer(pTmq->pTscObj->pAppInfo->pTransporter, &epSet, NULL, sendInfo);
|
code = asyncSendMsgToServer(pTmq->pTscObj->pAppInfo->pTransporter, &epSet, NULL, sendInfo);
|
||||||
|
|
||||||
END:
|
END:
|
||||||
|
@ -2102,7 +2102,7 @@ int32_t tmqPollCb(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
goto END;
|
goto END;
|
||||||
}
|
}
|
||||||
rspType = ((SMqRspHead*)pMsg->pData)->mqMsgType;
|
rspType = ((SMqRspHead*)pMsg->pData)->mqMsgType;
|
||||||
tqDebugC("consumer:0x%" PRIx64 " recv poll rsp, vgId:%d, type %d(%s),QID:0x%" PRIx64, tmq->consumerId, vgId, rspType, tmqMsgTypeStr[rspType], requestId);
|
tqDebugC("consumer:0x%" PRIx64 " recv poll rsp, vgId:%d, type %d(%s), QID:0x%" PRIx64, tmq->consumerId, vgId, rspType, tmqMsgTypeStr[rspType], requestId);
|
||||||
|
|
||||||
pRspWrapper->tmqRspType = rspType;
|
pRspWrapper->tmqRspType = rspType;
|
||||||
pRspWrapper->pollRsp.reqId = requestId;
|
pRspWrapper->pollRsp.reqId = requestId;
|
||||||
|
@ -2123,7 +2123,7 @@ int32_t tmqPollCb(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
taosFreeQitem(pRspWrapper);
|
taosFreeQitem(pRspWrapper);
|
||||||
tqErrorC("consumer:0x%" PRIx64 " put poll res into mqueue failed, code:%d", tmq->consumerId, code);
|
tqErrorC("consumer:0x%" PRIx64 " put poll res into mqueue failed, code:%d", tmq->consumerId, code);
|
||||||
} else {
|
} else {
|
||||||
tqDebugC("consumer:0x%" PRIx64 " put poll res into mqueue, type:%d(%s), vgId:%d, total in queue:%d,QID:0x%" PRIx64,
|
tqDebugC("consumer:0x%" PRIx64 " put poll res into mqueue, type:%d(%s), vgId:%d, total in queue:%d, QID:0x%" PRIx64,
|
||||||
tmq ? tmq->consumerId : 0, rspType, tmqMsgTypeStr[rspType], vgId, taosQueueItemSize(tmq->mqueue), requestId);
|
tmq ? tmq->consumerId : 0, rspType, tmqMsgTypeStr[rspType], vgId, taosQueueItemSize(tmq->mqueue), requestId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2297,7 +2297,7 @@ static int32_t doTmqPollImpl(tmq_t* pTmq, SMqClientTopic* pTopic, SMqClientVg* p
|
||||||
char offsetFormatBuf[TSDB_OFFSET_LEN] = {0};
|
char offsetFormatBuf[TSDB_OFFSET_LEN] = {0};
|
||||||
tFormatOffset(offsetFormatBuf, tListLen(offsetFormatBuf), &pVg->offsetInfo.endOffset);
|
tFormatOffset(offsetFormatBuf, tListLen(offsetFormatBuf), &pVg->offsetInfo.endOffset);
|
||||||
code = asyncSendMsgToServer(pTmq->pTscObj->pAppInfo->pTransporter, &pVg->epSet, NULL, sendInfo);
|
code = asyncSendMsgToServer(pTmq->pTscObj->pAppInfo->pTransporter, &pVg->epSet, NULL, sendInfo);
|
||||||
tqDebugC("consumer:0x%" PRIx64 " send poll to %s vgId:%d, code:%d, epoch %d, req:%s,QID:0x%" PRIx64, pTmq->consumerId,
|
tqDebugC("consumer:0x%" PRIx64 " send poll to %s vgId:%d, code:%d, epoch %d, req:%s, QID:0x%" PRIx64, pTmq->consumerId,
|
||||||
pTopic->topicName, pVg->vgId, code, pTmq->epoch, offsetFormatBuf, req.reqId);
|
pTopic->topicName, pVg->vgId, code, pTmq->epoch, offsetFormatBuf, req.reqId);
|
||||||
TSDB_CHECK_CODE(code, lino, END);
|
TSDB_CHECK_CODE(code, lino, END);
|
||||||
|
|
||||||
|
@ -2523,7 +2523,7 @@ static SMqRspObj* processMqRsp(tmq_t* tmq, SMqRspWrapper* pRspWrapper){
|
||||||
tFormatOffset(buf, TSDB_OFFSET_LEN, &pollRspWrapper->rspOffset);
|
tFormatOffset(buf, TSDB_OFFSET_LEN, &pollRspWrapper->rspOffset);
|
||||||
if (pollRspWrapper->dataRsp.blockNum == 0) {
|
if (pollRspWrapper->dataRsp.blockNum == 0) {
|
||||||
tqDebugC("consumer:0x%" PRIx64 " empty block received, vgId:%d, offset:%s, vg total:%" PRId64
|
tqDebugC("consumer:0x%" PRIx64 " empty block received, vgId:%d, offset:%s, vg total:%" PRId64
|
||||||
", total:%" PRId64 ",QID:0x%" PRIx64,
|
", total:%" PRId64 ", QID:0x%" PRIx64,
|
||||||
tmq->consumerId, pVg->vgId, buf, pVg->numOfRows, tmq->totalRows, pollRspWrapper->reqId);
|
tmq->consumerId, pVg->vgId, buf, pVg->numOfRows, tmq->totalRows, pollRspWrapper->reqId);
|
||||||
pVg->emptyBlockReceiveTs = taosGetTimestampMs();
|
pVg->emptyBlockReceiveTs = taosGetTimestampMs();
|
||||||
} else {
|
} else {
|
||||||
|
@ -2551,7 +2551,7 @@ static SMqRspObj* processMqRsp(tmq_t* tmq, SMqRspWrapper* pRspWrapper){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
tqDebugC("consumer:0x%" PRIx64 " process poll rsp, vgId:%d, offset:%s, blocks:%d, rows:%" PRId64
|
tqDebugC("consumer:0x%" PRIx64 " process poll rsp, vgId:%d, offset:%s, blocks:%d, rows:%" PRId64
|
||||||
", vg total:%" PRId64 ", total:%" PRId64 ",QID:0x%" PRIx64,
|
", vg total:%" PRId64 ", total:%" PRId64 ", QID:0x%" PRIx64,
|
||||||
tmq->consumerId, pVg->vgId, buf, pRspObj->dataRsp.blockNum, numOfRows, pVg->numOfRows, tmq->totalRows,
|
tmq->consumerId, pVg->vgId, buf, pRspObj->dataRsp.blockNum, numOfRows, pVg->numOfRows, tmq->totalRows,
|
||||||
pollRspWrapper->reqId);
|
pollRspWrapper->reqId);
|
||||||
}
|
}
|
||||||
|
@ -3551,7 +3551,7 @@ int32_t tmq_get_topic_assignment(tmq_t* tmq, const char* pTopicName, tmq_topic_a
|
||||||
char offsetFormatBuf[TSDB_OFFSET_LEN] = {0};
|
char offsetFormatBuf[TSDB_OFFSET_LEN] = {0};
|
||||||
tFormatOffset(offsetFormatBuf, tListLen(offsetFormatBuf), &pClientVg->offsetInfo.beginOffset);
|
tFormatOffset(offsetFormatBuf, tListLen(offsetFormatBuf), &pClientVg->offsetInfo.beginOffset);
|
||||||
|
|
||||||
tqInfoC("consumer:0x%" PRIx64 " %s retrieve wal info vgId:%d, epoch %d, req:%s,QID:0x%" PRIx64, tmq->consumerId,
|
tqInfoC("consumer:0x%" PRIx64 " %s retrieve wal info vgId:%d, epoch %d, req:%s, QID:0x%" PRIx64, tmq->consumerId,
|
||||||
pTopic->topicName, pClientVg->vgId, tmq->epoch, offsetFormatBuf, req.reqId);
|
pTopic->topicName, pClientVg->vgId, tmq->epoch, offsetFormatBuf, req.reqId);
|
||||||
code = asyncSendMsgToServer(tmq->pTscObj->pAppInfo->pTransporter, &pClientVg->epSet, NULL, sendInfo);
|
code = asyncSendMsgToServer(tmq->pTscObj->pAppInfo->pTransporter, &pClientVg->epSet, NULL, sendInfo);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
|
|
|
@ -37,7 +37,7 @@ static void dmUpdateDnodeCfg(SDnodeMgmt *pMgmt, SDnodeCfg *pCfg) {
|
||||||
auditSetDnodeId(pCfg->dnodeId);
|
auditSetDnodeId(pCfg->dnodeId);
|
||||||
code = dmWriteEps(pMgmt->pData);
|
code = dmWriteEps(pMgmt->pData);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
dInfo("failed to set local info, dnodeId:%d clusterId:%" PRId64 " reason:%s", pCfg->dnodeId, pCfg->clusterId,
|
dInfo("failed to set local info, dnodeId:%d clusterId:0x%" PRIx64 " reason:%s", pCfg->dnodeId, pCfg->clusterId,
|
||||||
tstrerror(code));
|
tstrerror(code));
|
||||||
}
|
}
|
||||||
(void)taosThreadRwlockUnlock(&pMgmt->pData->lock);
|
(void)taosThreadRwlockUnlock(&pMgmt->pData->lock);
|
||||||
|
|
|
@ -34,7 +34,7 @@ static int32_t mmRequire(const SMgmtInputOpt *pInput, bool *required) {
|
||||||
if (!option.deploy) {
|
if (!option.deploy) {
|
||||||
*required = mmDeployRequired(pInput);
|
*required = mmDeployRequired(pInput);
|
||||||
if (*required) {
|
if (*required) {
|
||||||
dInfo("deploy mnode required. dnodeId:%d<=0, clusterId:%" PRId64 "<=0, localEp:%s==firstEp",
|
dInfo("deploy mnode required. dnodeId:%d<=0, clusterId:0x%" PRIx64 "<=0, localEp:%s==firstEp",
|
||||||
pInput->pData->dnodeId, pInput->pData->clusterId, tsLocalEp);
|
pInput->pData->dnodeId, pInput->pData->clusterId, tsLocalEp);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -83,12 +83,12 @@ extern "C" {
|
||||||
}\
|
}\
|
||||||
}
|
}
|
||||||
|
|
||||||
#define dGFatal(param, ...) {if (dDebugFlag & DEBUG_FATAL) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); dFatal(param ",QID:%s", __VA_ARGS__, buf);}}
|
#define dGFatal(param, ...) {if (dDebugFlag & DEBUG_FATAL) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); dFatal(param ", QID:%s", __VA_ARGS__, buf);}}
|
||||||
#define dGError(param, ...) {if (dDebugFlag & DEBUG_ERROR) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); dError(param ",QID:%s", __VA_ARGS__, buf);}}
|
#define dGError(param, ...) {if (dDebugFlag & DEBUG_ERROR) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); dError(param ", QID:%s", __VA_ARGS__, buf);}}
|
||||||
#define dGWarn(param, ...) {if (dDebugFlag & DEBUG_WARN) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); dWarn(param ",QID:%s", __VA_ARGS__, buf);}}
|
#define dGWarn(param, ...) {if (dDebugFlag & DEBUG_WARN) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); dWarn(param ", QID:%s", __VA_ARGS__, buf);}}
|
||||||
#define dGInfo(param, ...) {if (dDebugFlag & DEBUG_INFO) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); dInfo(param ",QID:%s", __VA_ARGS__, buf);}}
|
#define dGInfo(param, ...) {if (dDebugFlag & DEBUG_INFO) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); dInfo(param ", QID:%s", __VA_ARGS__, buf);}}
|
||||||
#define dGDebug(param, ...) {if (dDebugFlag & DEBUG_DEBUG) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); dDebug(param ",QID:%s", __VA_ARGS__, buf);}}
|
#define dGDebug(param, ...) {if (dDebugFlag & DEBUG_DEBUG) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); dDebug(param ", QID:%s", __VA_ARGS__, buf);}}
|
||||||
#define dGTrace(param, ...) {if (dDebugFlag & DEBUG_TRACE) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); dTrace(param ",QID:%s", __VA_ARGS__, buf);}}
|
#define dGTrace(param, ...) {if (dDebugFlag & DEBUG_TRACE) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); dTrace(param ", QID:%s", __VA_ARGS__, buf);}}
|
||||||
|
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -42,12 +42,12 @@ extern "C" {
|
||||||
#define mDebug(...) { if (mDebugFlag & DEBUG_DEBUG) { taosPrintLog("MND DEBUG ", DEBUG_DEBUG, mDebugFlag, __VA_ARGS__); }}
|
#define mDebug(...) { if (mDebugFlag & DEBUG_DEBUG) { taosPrintLog("MND DEBUG ", DEBUG_DEBUG, mDebugFlag, __VA_ARGS__); }}
|
||||||
#define mTrace(...) { if (mDebugFlag & DEBUG_TRACE) { taosPrintLog("MND TRACE ", DEBUG_TRACE, mDebugFlag, __VA_ARGS__); }}
|
#define mTrace(...) { if (mDebugFlag & DEBUG_TRACE) { taosPrintLog("MND TRACE ", DEBUG_TRACE, mDebugFlag, __VA_ARGS__); }}
|
||||||
|
|
||||||
#define mGFatal(param, ...) { if (mDebugFlag & DEBUG_FATAL){ char buf[40] = {0}; TRACE_TO_STR(trace, buf); mFatal(param ",QID:%s", __VA_ARGS__, buf);}}
|
#define mGFatal(param, ...) { if (mDebugFlag & DEBUG_FATAL){ char buf[40] = {0}; TRACE_TO_STR(trace, buf); mFatal(param ", QID:%s", __VA_ARGS__, buf);}}
|
||||||
#define mGError(param, ...) { if (mDebugFlag & DEBUG_ERROR){ char buf[40] = {0}; TRACE_TO_STR(trace, buf); mError(param ",QID:%s", __VA_ARGS__, buf);}}
|
#define mGError(param, ...) { if (mDebugFlag & DEBUG_ERROR){ char buf[40] = {0}; TRACE_TO_STR(trace, buf); mError(param ", QID:%s", __VA_ARGS__, buf);}}
|
||||||
#define mGWarn(param, ...) { if (mDebugFlag & DEBUG_WARN){ char buf[40] = {0}; TRACE_TO_STR(trace, buf); mWarn (param ",QID:%s", __VA_ARGS__, buf);}}
|
#define mGWarn(param, ...) { if (mDebugFlag & DEBUG_WARN) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); mWarn (param ", QID:%s", __VA_ARGS__, buf);}}
|
||||||
#define mGInfo(param, ...) { if (mDebugFlag & DEBUG_INFO){ char buf[40] = {0}; TRACE_TO_STR(trace, buf); mInfo (param ",QID:%s", __VA_ARGS__, buf);}}
|
#define mGInfo(param, ...) { if (mDebugFlag & DEBUG_INFO) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); mInfo (param ", QID:%s", __VA_ARGS__, buf);}}
|
||||||
#define mGDebug(param, ...) { if (mDebugFlag & DEBUG_DEBUG){ char buf[40] = {0}; TRACE_TO_STR(trace, buf); mDebug(param ",QID:%s", __VA_ARGS__, buf);}}
|
#define mGDebug(param, ...) { if (mDebugFlag & DEBUG_DEBUG){ char buf[40] = {0}; TRACE_TO_STR(trace, buf); mDebug(param ", QID:%s", __VA_ARGS__, buf);}}
|
||||||
#define mGTrace(param, ...) { if (mDebugFlag & DEBUG_TRACE){ char buf[40] = {0}; TRACE_TO_STR(trace, buf); mTrace(param ",QID:%s", __VA_ARGS__, buf);}}
|
#define mGTrace(param, ...) { if (mDebugFlag & DEBUG_TRACE){ char buf[40] = {0}; TRACE_TO_STR(trace, buf); mTrace(param ", QID:%s", __VA_ARGS__, buf);}}
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
#define SYSTABLE_SCH_TABLE_NAME_LEN ((TSDB_TABLE_NAME_LEN - 1) + VARSTR_HEADER_SIZE)
|
#define SYSTABLE_SCH_TABLE_NAME_LEN ((TSDB_TABLE_NAME_LEN - 1) + VARSTR_HEADER_SIZE)
|
||||||
|
|
|
@ -2835,7 +2835,7 @@ int32_t mndProcessConsensusInTmr(SRpcMsg *pMsg) {
|
||||||
if (taosArrayGetSize(pInfo->pTaskList) == 0) {
|
if (taosArrayGetSize(pInfo->pTaskList) == 0) {
|
||||||
mndClearConsensusRspEntry(pInfo);
|
mndClearConsensusRspEntry(pInfo);
|
||||||
if (streamId == -1) {
|
if (streamId == -1) {
|
||||||
mError("streamId is -1, streamId:%" PRIx64" in consensus-checkpointId hashMap, cont", pInfo->streamId);
|
mError("streamId is -1, streamId:%" PRIx64 " in consensus-checkpointId hashMap, cont", pInfo->streamId);
|
||||||
}
|
}
|
||||||
|
|
||||||
void *p = taosArrayPush(pStreamList, &streamId);
|
void *p = taosArrayPush(pStreamList, &streamId);
|
||||||
|
|
|
@ -32,12 +32,12 @@ extern "C" {
|
||||||
#define vDebug(...) do { if (vDebugFlag & DEBUG_DEBUG) { taosPrintLog("VND DEBUG ", DEBUG_DEBUG, vDebugFlag, __VA_ARGS__); }} while(0)
|
#define vDebug(...) do { if (vDebugFlag & DEBUG_DEBUG) { taosPrintLog("VND DEBUG ", DEBUG_DEBUG, vDebugFlag, __VA_ARGS__); }} while(0)
|
||||||
#define vTrace(...) do { if (vDebugFlag & DEBUG_TRACE) { taosPrintLog("VND TRACE ", DEBUG_TRACE, vDebugFlag, __VA_ARGS__); }} while(0)
|
#define vTrace(...) do { if (vDebugFlag & DEBUG_TRACE) { taosPrintLog("VND TRACE ", DEBUG_TRACE, vDebugFlag, __VA_ARGS__); }} while(0)
|
||||||
|
|
||||||
#define vGTrace(param, ...) do { if (vDebugFlag & DEBUG_TRACE) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); vTrace(param ",QID:%s", __VA_ARGS__, buf);}} while(0)
|
#define vGTrace(param, ...) do { if (vDebugFlag & DEBUG_TRACE) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); vTrace(param ", QID:%s", __VA_ARGS__, buf);}} while(0)
|
||||||
#define vGFatal(param, ...) do { if (vDebugFlag & DEBUG_FATAL) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); vFatal(param ",QID:%s", __VA_ARGS__, buf);}} while(0)
|
#define vGFatal(param, ...) do { if (vDebugFlag & DEBUG_FATAL) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); vFatal(param ", QID:%s", __VA_ARGS__, buf);}} while(0)
|
||||||
#define vGError(param, ...) do { if (vDebugFlag & DEBUG_ERROR) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); vError(param ",QID:%s", __VA_ARGS__, buf);}} while(0)
|
#define vGError(param, ...) do { if (vDebugFlag & DEBUG_ERROR) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); vError(param ", QID:%s", __VA_ARGS__, buf);}} while(0)
|
||||||
#define vGWarn(param, ...) do { if (vDebugFlag & DEBUG_WARN) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); vWarn(param ",QID:%s", __VA_ARGS__, buf);}} while(0)
|
#define vGWarn(param, ...) do { if (vDebugFlag & DEBUG_WARN) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); vWarn(param ", QID:%s", __VA_ARGS__, buf);}} while(0)
|
||||||
#define vGInfo(param, ...) do { if (vDebugFlag & DEBUG_INFO) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); vInfo(param ",QID:%s", __VA_ARGS__, buf);}} while(0)
|
#define vGInfo(param, ...) do { if (vDebugFlag & DEBUG_INFO) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); vInfo(param ", QID:%s", __VA_ARGS__, buf);}} while(0)
|
||||||
#define vGDebug(param, ...) do { if (vDebugFlag & DEBUG_DEBUG) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); vDebug(param ",QID:%s", __VA_ARGS__, buf);}} while(0)
|
#define vGDebug(param, ...) do { if (vDebugFlag & DEBUG_DEBUG) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); vDebug(param ", QID:%s", __VA_ARGS__, buf);}} while(0)
|
||||||
|
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -1017,20 +1017,20 @@ int32_t tdProcessRSmaSubmit(SSma *pSma, int64_t version, void *pReq, void *pMsg,
|
||||||
|
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
if ((code = atomic_load_32(&SMA_RSMA_STAT(pSma)->execStat))) {
|
if ((code = atomic_load_32(&SMA_RSMA_STAT(pSma)->execStat))) {
|
||||||
smaError("vgId:%d, failed to process rsma submit since invalid exec code: %s", SMA_VID(pSma), tstrerror(code));
|
smaError("vgId:%d, failed to process rsma submit since invalid exec code:%s", SMA_VID(pSma), tstrerror(code));
|
||||||
goto _exit;
|
goto _exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
STbUidStore uidStore = {0};
|
STbUidStore uidStore = {0};
|
||||||
|
|
||||||
if ((code = tdFetchSubmitReqSuids(pReq, &uidStore)) < 0) {
|
if ((code = tdFetchSubmitReqSuids(pReq, &uidStore)) < 0) {
|
||||||
smaError("vgId:%d, failed to process rsma submit fetch suid since: %s", SMA_VID(pSma), tstrerror(code));
|
smaError("vgId:%d, failed to process rsma submit fetch suid since %s", SMA_VID(pSma), tstrerror(code));
|
||||||
goto _exit;
|
goto _exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (uidStore.suid != 0) {
|
if (uidStore.suid != 0) {
|
||||||
if ((code = tdExecuteRSmaAsync(pSma, version, pMsg, len, STREAM_INPUT__DATA_SUBMIT, uidStore.suid)) < 0) {
|
if ((code = tdExecuteRSmaAsync(pSma, version, pMsg, len, STREAM_INPUT__DATA_SUBMIT, uidStore.suid)) < 0) {
|
||||||
smaError("vgId:%d, failed to process rsma submit exec 1 since: %s", SMA_VID(pSma), tstrerror(code));
|
smaError("vgId:%d, failed to process rsma submit exec 1 since %s", SMA_VID(pSma), tstrerror(code));
|
||||||
goto _exit;
|
goto _exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1054,13 +1054,13 @@ int32_t tdProcessRSmaDelete(SSma *pSma, int64_t version, void *pReq, void *pMsg,
|
||||||
|
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
if ((code = atomic_load_32(&SMA_RSMA_STAT(pSma)->execStat))) {
|
if ((code = atomic_load_32(&SMA_RSMA_STAT(pSma)->execStat))) {
|
||||||
smaError("vgId:%d, failed to process rsma delete since invalid exec code: %s", SMA_VID(pSma), tstrerror(code));
|
smaError("vgId:%d, failed to process rsma delete since invalid exec code:%s", SMA_VID(pSma), tstrerror(code));
|
||||||
goto _exit;
|
goto _exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
SDeleteRes *pDelRes = pReq;
|
SDeleteRes *pDelRes = pReq;
|
||||||
if ((code = tdExecuteRSmaAsync(pSma, version, pMsg, len, STREAM_INPUT__REF_DATA_BLOCK, pDelRes->suid)) < 0) {
|
if ((code = tdExecuteRSmaAsync(pSma, version, pMsg, len, STREAM_INPUT__REF_DATA_BLOCK, pDelRes->suid)) < 0) {
|
||||||
smaError("vgId:%d, failed to process rsma submit exec 1 since: %s", SMA_VID(pSma), tstrerror(code));
|
smaError("vgId:%d, failed to process rsma submit exec 1 since %s", SMA_VID(pSma), tstrerror(code));
|
||||||
goto _exit;
|
goto _exit;
|
||||||
}
|
}
|
||||||
_exit:
|
_exit:
|
||||||
|
@ -1249,7 +1249,7 @@ int32_t tdRSmaPersistExecImpl(SRSmaStat *pRSmaStat, SHashObj *pInfoHash) {
|
||||||
if (streamFlushed) {
|
if (streamFlushed) {
|
||||||
pRSmaInfo->items[i].streamFlushed = 1;
|
pRSmaInfo->items[i].streamFlushed = 1;
|
||||||
if (++nStreamFlushed >= nTaskInfo) {
|
if (++nStreamFlushed >= nTaskInfo) {
|
||||||
smaInfo("vgId:%d, rsma commit, checkpoint ready, %d us consumed, received/total: %d/%d", TD_VID(pVnode),
|
smaInfo("vgId:%d, rsma commit, checkpoint ready, %d us consumed, received/total:%d/%d", TD_VID(pVnode),
|
||||||
nSleep * 10, nStreamFlushed, nTaskInfo);
|
nSleep * 10, nStreamFlushed, nTaskInfo);
|
||||||
taosHashCancelIterate(pInfoHash, infoHash);
|
taosHashCancelIterate(pInfoHash, infoHash);
|
||||||
goto _checkpoint;
|
goto _checkpoint;
|
||||||
|
@ -1260,7 +1260,7 @@ int32_t tdRSmaPersistExecImpl(SRSmaStat *pRSmaStat, SHashObj *pInfoHash) {
|
||||||
}
|
}
|
||||||
taosUsleep(10);
|
taosUsleep(10);
|
||||||
++nSleep;
|
++nSleep;
|
||||||
smaDebug("vgId:%d, rsma commit, wait for checkpoint ready, %d us elapsed, received/total: %d/%d", TD_VID(pVnode),
|
smaDebug("vgId:%d, rsma commit, wait for checkpoint ready, %d us elapsed, received/total:%d/%d", TD_VID(pVnode),
|
||||||
nSleep * 10, nStreamFlushed, nTaskInfo);
|
nSleep * 10, nStreamFlushed, nTaskInfo);
|
||||||
}
|
}
|
||||||
} while (0);
|
} while (0);
|
||||||
|
|
|
@ -202,7 +202,7 @@ void tqPushEmptyDataRsp(STqHandle* pHandle, int32_t vgId) {
|
||||||
dataRsp.blockNum = 0;
|
dataRsp.blockNum = 0;
|
||||||
char buf[TSDB_OFFSET_LEN] = {0};
|
char buf[TSDB_OFFSET_LEN] = {0};
|
||||||
(void)tFormatOffset(buf, TSDB_OFFSET_LEN, &dataRsp.reqOffset);
|
(void)tFormatOffset(buf, TSDB_OFFSET_LEN, &dataRsp.reqOffset);
|
||||||
tqInfo("tqPushEmptyDataRsp to consumer:0x%" PRIx64 " vgId:%d, offset:%s,QID:0x%" PRIx64, req.consumerId, vgId, buf,
|
tqInfo("tqPushEmptyDataRsp to consumer:0x%" PRIx64 " vgId:%d, offset:%s, QID:0x%" PRIx64, req.consumerId, vgId, buf,
|
||||||
req.reqId);
|
req.reqId);
|
||||||
|
|
||||||
code = tqSendDataRsp(pHandle, pHandle->msg, &req, &dataRsp, TMQ_MSG_TYPE__POLL_DATA_RSP, vgId);
|
code = tqSendDataRsp(pHandle, pHandle->msg, &req, &dataRsp, TMQ_MSG_TYPE__POLL_DATA_RSP, vgId);
|
||||||
|
@ -225,7 +225,7 @@ int32_t tqSendDataRsp(STqHandle* pHandle, const SRpcMsg* pMsg, const SMqPollReq*
|
||||||
(void)tFormatOffset(buf1, TSDB_OFFSET_LEN, &(pRsp->reqOffset));
|
(void)tFormatOffset(buf1, TSDB_OFFSET_LEN, &(pRsp->reqOffset));
|
||||||
(void)tFormatOffset(buf2, TSDB_OFFSET_LEN, &(pRsp->rspOffset));
|
(void)tFormatOffset(buf2, TSDB_OFFSET_LEN, &(pRsp->rspOffset));
|
||||||
|
|
||||||
tqDebug("tmq poll vgId:%d consumer:0x%" PRIx64 " (epoch %d) start to send rsp, block num:%d, req:%s, rsp:%s,QID:0x%" PRIx64,
|
tqDebug("tmq poll vgId:%d consumer:0x%" PRIx64 " (epoch %d) start to send rsp, block num:%d, req:%s, rsp:%s, QID:0x%" PRIx64,
|
||||||
vgId, pReq->consumerId, pReq->epoch, pRsp->blockNum, buf1, buf2, pReq->reqId);
|
vgId, pReq->consumerId, pReq->epoch, pRsp->blockNum, buf1, buf2, pReq->reqId);
|
||||||
|
|
||||||
return tqDoSendDataRsp(&pMsg->info, pRsp, pReq->epoch, pReq->consumerId, type, sver, ever);
|
return tqDoSendDataRsp(&pMsg->info, pRsp, pReq->epoch, pReq->consumerId, type, sver, ever);
|
||||||
|
@ -477,7 +477,7 @@ int32_t tqProcessPollReq(STQ* pTq, SRpcMsg* pMsg) {
|
||||||
|
|
||||||
char buf[TSDB_OFFSET_LEN] = {0};
|
char buf[TSDB_OFFSET_LEN] = {0};
|
||||||
(void)tFormatOffset(buf, TSDB_OFFSET_LEN, &reqOffset);
|
(void)tFormatOffset(buf, TSDB_OFFSET_LEN, &reqOffset);
|
||||||
tqDebug("tmq poll: consumer:0x%" PRIx64 " (epoch %d), subkey %s, recv poll req vgId:%d, req:%s,QID:0x%" PRIx64,
|
tqDebug("tmq poll: consumer:0x%" PRIx64 " (epoch %d), subkey %s, recv poll req vgId:%d, req:%s, QID:0x%" PRIx64,
|
||||||
consumerId, req.epoch, pHandle->subKey, vgId, buf, req.reqId);
|
consumerId, req.epoch, pHandle->subKey, vgId, buf, req.reqId);
|
||||||
|
|
||||||
code = tqExtractDataForMq(pTq, pHandle, &req, pMsg);
|
code = tqExtractDataForMq(pTq, pHandle, &req, pMsg);
|
||||||
|
|
|
@ -222,12 +222,12 @@ int32_t tqFetchLog(STQ* pTq, STqHandle* pHandle, int64_t* fetchOffset, uint64_t
|
||||||
while (offset <= appliedVer) {
|
while (offset <= appliedVer) {
|
||||||
if (walFetchHead(pHandle->pWalReader, offset) < 0) {
|
if (walFetchHead(pHandle->pWalReader, offset) < 0) {
|
||||||
tqDebug("tmq poll: consumer:0x%" PRIx64 ", (epoch %d) vgId:%d offset %" PRId64
|
tqDebug("tmq poll: consumer:0x%" PRIx64 ", (epoch %d) vgId:%d offset %" PRId64
|
||||||
", no more log to return,QID:0x%" PRIx64 " 0x%" PRIx64,
|
", no more log to return, QID:0x%" PRIx64 " 0x%" PRIx64,
|
||||||
pHandle->consumerId, pHandle->epoch, vgId, offset, reqId, id);
|
pHandle->consumerId, pHandle->epoch, vgId, offset, reqId, id);
|
||||||
goto END;
|
goto END;
|
||||||
}
|
}
|
||||||
|
|
||||||
tqDebug("vgId:%d, consumer:0x%" PRIx64 " taosx get msg ver %" PRId64 ", type: %s,QID:0x%" PRIx64 " 0x%" PRIx64,
|
tqDebug("vgId:%d, consumer:0x%" PRIx64 " taosx get msg ver %" PRId64 ", type:%s, QID:0x%" PRIx64 " 0x%" PRIx64,
|
||||||
vgId, pHandle->consumerId, offset, TMSG_INFO(pHandle->pWalReader->pHead->head.msgType), reqId, id);
|
vgId, pHandle->consumerId, offset, TMSG_INFO(pHandle->pWalReader->pHead->head.msgType), reqId, id);
|
||||||
|
|
||||||
if (pHandle->pWalReader->pHead->head.msgType == TDMT_VND_SUBMIT) {
|
if (pHandle->pWalReader->pHead->head.msgType == TDMT_VND_SUBMIT) {
|
||||||
|
|
|
@ -190,10 +190,10 @@ end:
|
||||||
char buf[TSDB_OFFSET_LEN] = {0};
|
char buf[TSDB_OFFSET_LEN] = {0};
|
||||||
tFormatOffset(buf, TSDB_OFFSET_LEN, &dataRsp.rspOffset);
|
tFormatOffset(buf, TSDB_OFFSET_LEN, &dataRsp.rspOffset);
|
||||||
if (code != 0){
|
if (code != 0){
|
||||||
tqError("tmq poll: consumer:0x%" PRIx64 ", subkey %s, vgId:%d, rsp block:%d, rsp offset type:%s,QID:0x%" PRIx64 " error msg:%s, line:%d",
|
tqError("tmq poll: consumer:0x%" PRIx64 ", subkey %s, vgId:%d, rsp block:%d, rsp offset type:%s, QID:0x%" PRIx64 " error msg:%s, line:%d",
|
||||||
consumerId, pHandle->subKey, vgId, dataRsp.blockNum, buf, pRequest->reqId, tstrerror(code), lino);
|
consumerId, pHandle->subKey, vgId, dataRsp.blockNum, buf, pRequest->reqId, tstrerror(code), lino);
|
||||||
} else {
|
} else {
|
||||||
tqDebug("tmq poll: consumer:0x%" PRIx64 ", subkey %s, vgId:%d, rsp block:%d, rsp offset type:%s,QID:0x%" PRIx64 " success",
|
tqDebug("tmq poll: consumer:0x%" PRIx64 ", subkey %s, vgId:%d, rsp block:%d, rsp offset type:%s, QID:0x%" PRIx64 " success",
|
||||||
consumerId, pHandle->subKey, vgId, dataRsp.blockNum, buf, pRequest->reqId);
|
consumerId, pHandle->subKey, vgId, dataRsp.blockNum, buf, pRequest->reqId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -461,7 +461,7 @@ int32_t tqStreamTaskProcessRetrieveReq(SStreamMeta* pMeta, SRpcMsg* pMsg) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// enqueue
|
// enqueue
|
||||||
tqDebug("s-task:%s (vgId:%d level:%d) recv retrieve req from task:0x%x(vgId:%d),QID:0x%" PRIx64, pTask->id.idStr,
|
tqDebug("s-task:%s (vgId:%d level:%d) recv retrieve req from task:0x%x(vgId:%d), QID:0x%" PRIx64, pTask->id.idStr,
|
||||||
pTask->pMeta->vgId, pTask->info.taskLevel, req.srcTaskId, req.srcNodeId, req.reqId);
|
pTask->pMeta->vgId, pTask->info.taskLevel, req.srcTaskId, req.srcNodeId, req.reqId);
|
||||||
|
|
||||||
// if task is in ck status, set current ck failed
|
// if task is in ck status, set current ck failed
|
||||||
|
|
|
@ -249,14 +249,14 @@ int32_t tsdbTFileObjRef(STFileObj *fobj) {
|
||||||
(void)taosThreadMutexLock(&fobj->mutex);
|
(void)taosThreadMutexLock(&fobj->mutex);
|
||||||
|
|
||||||
if (fobj->ref <= 0 || fobj->state != TSDB_FSTATE_LIVE) {
|
if (fobj->ref <= 0 || fobj->state != TSDB_FSTATE_LIVE) {
|
||||||
tsdbError("file %s, fobj:%p ref %d", fobj->fname, fobj, fobj->ref);
|
tsdbError("file %s, fobj:%p ref:%d", fobj->fname, fobj, fobj->ref);
|
||||||
(void)taosThreadMutexUnlock(&fobj->mutex);
|
(void)taosThreadMutexUnlock(&fobj->mutex);
|
||||||
return TSDB_CODE_FAILED;
|
return TSDB_CODE_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
nRef = ++fobj->ref;
|
nRef = ++fobj->ref;
|
||||||
(void)taosThreadMutexUnlock(&fobj->mutex);
|
(void)taosThreadMutexUnlock(&fobj->mutex);
|
||||||
tsdbTrace("ref file %s, fobj:%p ref %d", fobj->fname, fobj, nRef);
|
tsdbTrace("ref file %s, fobj:%p ref:%d", fobj->fname, fobj, nRef);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -266,11 +266,11 @@ int32_t tsdbTFileObjUnref(STFileObj *fobj) {
|
||||||
(void)taosThreadMutexUnlock(&fobj->mutex);
|
(void)taosThreadMutexUnlock(&fobj->mutex);
|
||||||
|
|
||||||
if (nRef < 0) {
|
if (nRef < 0) {
|
||||||
tsdbError("file %s, fobj:%p ref %d", fobj->fname, fobj, nRef);
|
tsdbError("file %s, fobj:%p ref:%d", fobj->fname, fobj, nRef);
|
||||||
return TSDB_CODE_FAILED;
|
return TSDB_CODE_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
tsdbTrace("unref file %s, fobj:%p ref %d", fobj->fname, fobj, nRef);
|
tsdbTrace("unref file %s, fobj:%p ref:%d", fobj->fname, fobj, nRef);
|
||||||
if (nRef == 0) {
|
if (nRef == 0) {
|
||||||
if (fobj->state == TSDB_FSTATE_DEAD) {
|
if (fobj->state == TSDB_FSTATE_DEAD) {
|
||||||
tsdbRemoveFile(fobj->fname);
|
tsdbRemoveFile(fobj->fname);
|
||||||
|
@ -335,14 +335,14 @@ static void tsdbTFileObjRemoveLC(STFileObj *fobj, bool remove_all) {
|
||||||
int32_t tsdbTFileObjRemove(STFileObj *fobj) {
|
int32_t tsdbTFileObjRemove(STFileObj *fobj) {
|
||||||
(void)taosThreadMutexLock(&fobj->mutex);
|
(void)taosThreadMutexLock(&fobj->mutex);
|
||||||
if (fobj->state != TSDB_FSTATE_LIVE || fobj->ref <= 0) {
|
if (fobj->state != TSDB_FSTATE_LIVE || fobj->ref <= 0) {
|
||||||
tsdbError("file %s, fobj:%p ref %d", fobj->fname, fobj, fobj->ref);
|
tsdbError("file %s, fobj:%p ref:%d", fobj->fname, fobj, fobj->ref);
|
||||||
(void)taosThreadMutexUnlock(&fobj->mutex);
|
(void)taosThreadMutexUnlock(&fobj->mutex);
|
||||||
return TSDB_CODE_FAILED;
|
return TSDB_CODE_FAILED;
|
||||||
}
|
}
|
||||||
fobj->state = TSDB_FSTATE_DEAD;
|
fobj->state = TSDB_FSTATE_DEAD;
|
||||||
int32_t nRef = --fobj->ref;
|
int32_t nRef = --fobj->ref;
|
||||||
(void)taosThreadMutexUnlock(&fobj->mutex);
|
(void)taosThreadMutexUnlock(&fobj->mutex);
|
||||||
tsdbTrace("remove unref file %s, fobj:%p ref %d", fobj->fname, fobj, nRef);
|
tsdbTrace("remove unref file %s, fobj:%p ref:%d", fobj->fname, fobj, nRef);
|
||||||
if (nRef == 0) {
|
if (nRef == 0) {
|
||||||
tsdbTFileObjRemoveLC(fobj, true);
|
tsdbTFileObjRemoveLC(fobj, true);
|
||||||
taosMemoryFree(fobj);
|
taosMemoryFree(fobj);
|
||||||
|
@ -355,14 +355,14 @@ int32_t tsdbTFileObjRemoveUpdateLC(STFileObj *fobj) {
|
||||||
|
|
||||||
if (fobj->state != TSDB_FSTATE_LIVE || fobj->ref <= 0) {
|
if (fobj->state != TSDB_FSTATE_LIVE || fobj->ref <= 0) {
|
||||||
(void)taosThreadMutexUnlock(&fobj->mutex);
|
(void)taosThreadMutexUnlock(&fobj->mutex);
|
||||||
tsdbError("file %s, fobj:%p ref %d", fobj->fname, fobj, fobj->ref);
|
tsdbError("file %s, fobj:%p ref:%d", fobj->fname, fobj, fobj->ref);
|
||||||
return TSDB_CODE_FAILED;
|
return TSDB_CODE_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
fobj->state = TSDB_FSTATE_DEAD;
|
fobj->state = TSDB_FSTATE_DEAD;
|
||||||
int32_t nRef = --fobj->ref;
|
int32_t nRef = --fobj->ref;
|
||||||
(void)taosThreadMutexUnlock(&fobj->mutex);
|
(void)taosThreadMutexUnlock(&fobj->mutex);
|
||||||
tsdbTrace("remove unref file %s, fobj:%p ref %d", fobj->fname, fobj, nRef);
|
tsdbTrace("remove unref file %s, fobj:%p ref:%d", fobj->fname, fobj, nRef);
|
||||||
if (nRef == 0) {
|
if (nRef == 0) {
|
||||||
tsdbTFileObjRemoveLC(fobj, false);
|
tsdbTFileObjRemoveLC(fobj, false);
|
||||||
taosMemoryFree(fobj);
|
taosMemoryFree(fobj);
|
||||||
|
|
|
@ -230,7 +230,7 @@ static int32_t setColumnIdSlotList(SBlockLoadSuppInfo* pSupInfo, SColumnInfo* pC
|
||||||
if (IS_VAR_DATA_TYPE(pCols[i].type)) {
|
if (IS_VAR_DATA_TYPE(pCols[i].type)) {
|
||||||
pSupInfo->buildBuf[i] = taosMemoryMalloc(pCols[i].bytes);
|
pSupInfo->buildBuf[i] = taosMemoryMalloc(pCols[i].bytes);
|
||||||
if (pSupInfo->buildBuf[i] == NULL) {
|
if (pSupInfo->buildBuf[i] == NULL) {
|
||||||
tsdbError("failed to prepare memory for set columnId slot list, size:%d, code: %s", pCols[i].bytes,
|
tsdbError("failed to prepare memory for set columnId slot list, size:%d, code:%s", pCols[i].bytes,
|
||||||
tstrerror(terrno));
|
tstrerror(terrno));
|
||||||
}
|
}
|
||||||
TSDB_CHECK_NULL(pSupInfo->buildBuf[i], code, lino, _end, terrno);
|
TSDB_CHECK_NULL(pSupInfo->buildBuf[i], code, lino, _end, terrno);
|
||||||
|
|
|
@ -827,19 +827,19 @@ typedef struct SCtgCacheItemInfo {
|
||||||
#define CTG_CACHE_OVERFLOW(_csize, _maxsize) ((_maxsize >= 0) ? ((_csize) >= (_maxsize)*1048576L * 0.9) : false)
|
#define CTG_CACHE_OVERFLOW(_csize, _maxsize) ((_maxsize >= 0) ? ((_csize) >= (_maxsize)*1048576L * 0.9) : false)
|
||||||
#define CTG_CACHE_LOW(_csize, _maxsize) ((_maxsize >= 0) ? ((_csize) <= (_maxsize)*1048576L * 0.75) : true)
|
#define CTG_CACHE_LOW(_csize, _maxsize) ((_maxsize >= 0) ? ((_csize) <= (_maxsize)*1048576L * 0.75) : true)
|
||||||
|
|
||||||
#define ctgFatal(param, ...) qFatal("CTG:%p " param, pCtg, __VA_ARGS__)
|
#define ctgFatal(param, ...) qFatal("CTG:%p, " param, pCtg, __VA_ARGS__)
|
||||||
#define ctgError(param, ...) qError("CTG:%p " param, pCtg, __VA_ARGS__)
|
#define ctgError(param, ...) qError("CTG:%p, " param, pCtg, __VA_ARGS__)
|
||||||
#define ctgWarn(param, ...) qWarn("CTG:%p " param, pCtg, __VA_ARGS__)
|
#define ctgWarn(param, ...) qWarn ("CTG:%p, " param, pCtg, __VA_ARGS__)
|
||||||
#define ctgInfo(param, ...) qInfo("CTG:%p " param, pCtg, __VA_ARGS__)
|
#define ctgInfo(param, ...) qInfo ("CTG:%p, " param, pCtg, __VA_ARGS__)
|
||||||
#define ctgDebug(param, ...) qDebug("CTG:%p " param, pCtg, __VA_ARGS__)
|
#define ctgDebug(param, ...) qDebug("CTG:%p, " param, pCtg, __VA_ARGS__)
|
||||||
#define ctgTrace(param, ...) qTrace("CTG:%p " param, pCtg, __VA_ARGS__)
|
#define ctgTrace(param, ...) qTrace("CTG:%p, " param, pCtg, __VA_ARGS__)
|
||||||
|
|
||||||
#define ctgTaskFatal(param, ...) qFatal("QID:%" PRIx64 " CTG:%p " param, pTask->pJob->queryId, pCtg, __VA_ARGS__)
|
#define ctgTaskFatal(param, ...) qFatal("QID:%" PRIx64 ", CTG:%p, " param, pTask->pJob->queryId, pCtg, __VA_ARGS__)
|
||||||
#define ctgTaskError(param, ...) qError("QID:%" PRIx64 " CTG:%p " param, pTask->pJob->queryId, pCtg, __VA_ARGS__)
|
#define ctgTaskError(param, ...) qError("QID:%" PRIx64 ", CTG:%p, " param, pTask->pJob->queryId, pCtg, __VA_ARGS__)
|
||||||
#define ctgTaskWarn(param, ...) qWarn("QID:%" PRIx64 " CTG:%p " param, pTask->pJob->queryId, pCtg, __VA_ARGS__)
|
#define ctgTaskWarn(param, ...) qWarn ("QID:%" PRIx64 ", CTG:%p, " param, pTask->pJob->queryId, pCtg, __VA_ARGS__)
|
||||||
#define ctgTaskInfo(param, ...) qInfo("QID:%" PRIx64 " CTG:%p " param, pTask->pJob->queryId, pCtg, __VA_ARGS__)
|
#define ctgTaskInfo(param, ...) qInfo ("QID:%" PRIx64 ", CTG:%p, " param, pTask->pJob->queryId, pCtg, __VA_ARGS__)
|
||||||
#define ctgTaskDebug(param, ...) qDebug("QID:%" PRIx64 " CTG:%p " param, pTask->pJob->queryId, pCtg, __VA_ARGS__)
|
#define ctgTaskDebug(param, ...) qDebug("QID:%" PRIx64 ", CTG:%p, " param, pTask->pJob->queryId, pCtg, __VA_ARGS__)
|
||||||
#define ctgTaskTrace(param, ...) qTrace("QID:%" PRIx64 " CTG:%p " param, pTask->pJob->queryId, pCtg, __VA_ARGS__)
|
#define ctgTaskTrace(param, ...) qTrace("QID:%" PRIx64 ", CTG:%p, " param, pTask->pJob->queryId, pCtg, __VA_ARGS__)
|
||||||
|
|
||||||
#define CTG_LOCK_DEBUG(...) \
|
#define CTG_LOCK_DEBUG(...) \
|
||||||
do { \
|
do { \
|
||||||
|
|
|
@ -917,7 +917,7 @@ int32_t catalogGetHandle(int64_t clusterId, SCatalog** catalogHandle) {
|
||||||
if (ctg && (*ctg)) {
|
if (ctg && (*ctg)) {
|
||||||
*catalogHandle = *ctg;
|
*catalogHandle = *ctg;
|
||||||
CTG_STAT_HIT_INC(CTG_CI_CLUSTER, 1);
|
CTG_STAT_HIT_INC(CTG_CI_CLUSTER, 1);
|
||||||
qDebug("got catalog handle from cache, clusterId:0x%" PRIx64 ", CTG:%p", clusterId, *ctg);
|
qDebug("CTG:%p, get catalog handle from cache, clusterId:0x%" PRIx64, *ctg, clusterId);
|
||||||
CTG_API_LEAVE(TSDB_CODE_SUCCESS);
|
CTG_API_LEAVE(TSDB_CODE_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1001,7 +1001,7 @@ int32_t catalogGetDBVgVersion(SCatalog* pCtg, const char* dbFName, int32_t* vers
|
||||||
|
|
||||||
ctgReleaseVgInfoToCache(pCtg, dbCache);
|
ctgReleaseVgInfoToCache(pCtg, dbCache);
|
||||||
|
|
||||||
ctgDebug("Got db vgVersion from cache, dbFName:%s, vgVersion:%d", dbFName, *version);
|
ctgDebug("get db vgVersion from cache, dbFName:%s, vgVersion:%d", dbFName, *version);
|
||||||
|
|
||||||
CTG_API_LEAVE(TSDB_CODE_SUCCESS);
|
CTG_API_LEAVE(TSDB_CODE_SUCCESS);
|
||||||
|
|
||||||
|
@ -1973,7 +1973,7 @@ int32_t catalogClearCache(void) {
|
||||||
|
|
||||||
int32_t code = ctgClearCacheEnqueue(NULL, false, false, false, true);
|
int32_t code = ctgClearCacheEnqueue(NULL, false, false, false, true);
|
||||||
|
|
||||||
qInfo("clear catalog cache end, code: %s", tstrerror(code));
|
qInfo("clear catalog cache end, code:%s", tstrerror(code));
|
||||||
|
|
||||||
CTG_API_LEAVE_NOLOCK(code);
|
CTG_API_LEAVE_NOLOCK(code);
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,7 +77,7 @@ int32_t ctgInitGetTbMetaTask(SCtgJob* pJob, int32_t taskIdx, void* param) {
|
||||||
CTG_ERR_RET(terrno);
|
CTG_ERR_RET(terrno);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " the %dth task type %s initialized, tbName:%s", pJob->queryId, taskIdx,
|
qDebug("QID:0x%" PRIx64 ", the %dth task type %s initialized, tbName:%s", pJob->queryId, taskIdx,
|
||||||
ctgTaskTypeStr(task.type), name->tname);
|
ctgTaskTypeStr(task.type), name->tname);
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
|
@ -99,7 +99,7 @@ int32_t ctgInitGetTbMetasTask(SCtgJob* pJob, int32_t taskIdx, void* param) {
|
||||||
ctx->pNames = param;
|
ctx->pNames = param;
|
||||||
ctx->pResList = taosArrayInit(pJob->tbMetaNum, sizeof(SMetaRes));
|
ctx->pResList = taosArrayInit(pJob->tbMetaNum, sizeof(SMetaRes));
|
||||||
if (NULL == ctx->pResList) {
|
if (NULL == ctx->pResList) {
|
||||||
qError("QID:0x%" PRIx64 " taosArrayInit %d SMetaRes %d failed", pJob->queryId, pJob->tbMetaNum,
|
qError("QID:0x%" PRIx64 ", taosArrayInit %d SMetaRes %d failed", pJob->queryId, pJob->tbMetaNum,
|
||||||
(int32_t)sizeof(SMetaRes));
|
(int32_t)sizeof(SMetaRes));
|
||||||
ctgFreeTask(&task, true);
|
ctgFreeTask(&task, true);
|
||||||
CTG_ERR_RET(terrno);
|
CTG_ERR_RET(terrno);
|
||||||
|
@ -110,7 +110,7 @@ int32_t ctgInitGetTbMetasTask(SCtgJob* pJob, int32_t taskIdx, void* param) {
|
||||||
CTG_ERR_RET(terrno);
|
CTG_ERR_RET(terrno);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " the %dth task type %s initialized, dbNum:%lu, tbNum:%d", pJob->queryId, taskIdx,
|
qDebug("QID:0x%" PRIx64 ", the %dth task type %s initialized, dbNum:%lu, tbNum:%d", pJob->queryId, taskIdx,
|
||||||
ctgTaskTypeStr(task.type), taosArrayGetSize(ctx->pNames), pJob->tbMetaNum);
|
ctgTaskTypeStr(task.type), taosArrayGetSize(ctx->pNames), pJob->tbMetaNum);
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
|
@ -138,7 +138,7 @@ int32_t ctgInitGetDbVgTask(SCtgJob* pJob, int32_t taskIdx, void* param) {
|
||||||
CTG_ERR_RET(terrno);
|
CTG_ERR_RET(terrno);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " the %dth task type %s initialized, dbFName:%s", pJob->queryId, taskIdx,
|
qDebug("QID:0x%" PRIx64 ", the %dth task type %s initialized, dbFName:%s", pJob->queryId, taskIdx,
|
||||||
ctgTaskTypeStr(task.type), dbFName);
|
ctgTaskTypeStr(task.type), dbFName);
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
|
@ -166,7 +166,7 @@ int32_t ctgInitGetDbCfgTask(SCtgJob* pJob, int32_t taskIdx, void* param) {
|
||||||
CTG_ERR_RET(terrno);
|
CTG_ERR_RET(terrno);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " the %dth task type %s initialized, dbFName:%s", pJob->queryId, taskIdx,
|
qDebug("QID:0x%" PRIx64 ", the %dth task type %s initialized, dbFName:%s", pJob->queryId, taskIdx,
|
||||||
ctgTaskTypeStr(task.type), dbFName);
|
ctgTaskTypeStr(task.type), dbFName);
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
|
@ -194,7 +194,7 @@ int32_t ctgInitGetDbInfoTask(SCtgJob* pJob, int32_t taskIdx, void* param) {
|
||||||
CTG_ERR_RET(terrno);
|
CTG_ERR_RET(terrno);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " the %dth task type %s initialized, dbFName:%s", pJob->queryId, taskIdx,
|
qDebug("QID:0x%" PRIx64 ", the %dth task type %s initialized, dbFName:%s", pJob->queryId, taskIdx,
|
||||||
ctgTaskTypeStr(task.type), dbFName);
|
ctgTaskTypeStr(task.type), dbFName);
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
|
@ -228,7 +228,7 @@ int32_t ctgInitGetTbHashTask(SCtgJob* pJob, int32_t taskIdx, void* param) {
|
||||||
CTG_ERR_RET(terrno);
|
CTG_ERR_RET(terrno);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " the %dth task type %s initialized, tableName:%s", pJob->queryId, taskIdx,
|
qDebug("QID:0x%" PRIx64 ", the %dth task type %s initialized, tableName:%s", pJob->queryId, taskIdx,
|
||||||
ctgTaskTypeStr(task.type), name->tname);
|
ctgTaskTypeStr(task.type), name->tname);
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
|
@ -250,7 +250,7 @@ int32_t ctgInitGetTbHashsTask(SCtgJob* pJob, int32_t taskIdx, void* param) {
|
||||||
ctx->pNames = param;
|
ctx->pNames = param;
|
||||||
ctx->pResList = taosArrayInit(pJob->tbHashNum, sizeof(SMetaRes));
|
ctx->pResList = taosArrayInit(pJob->tbHashNum, sizeof(SMetaRes));
|
||||||
if (NULL == ctx->pResList) {
|
if (NULL == ctx->pResList) {
|
||||||
qError("QID:0x%" PRIx64 " taosArrayInit %d SMetaRes %d failed", pJob->queryId, pJob->tbHashNum,
|
qError("QID:0x%" PRIx64 ", taosArrayInit %d SMetaRes %d failed", pJob->queryId, pJob->tbHashNum,
|
||||||
(int32_t)sizeof(SMetaRes));
|
(int32_t)sizeof(SMetaRes));
|
||||||
ctgFreeTask(&task, true);
|
ctgFreeTask(&task, true);
|
||||||
CTG_ERR_RET(terrno);
|
CTG_ERR_RET(terrno);
|
||||||
|
@ -261,7 +261,7 @@ int32_t ctgInitGetTbHashsTask(SCtgJob* pJob, int32_t taskIdx, void* param) {
|
||||||
CTG_ERR_RET(terrno);
|
CTG_ERR_RET(terrno);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " the %dth task type %s initialized, dbNum:%lu, tbNum:%d", pJob->queryId, taskIdx,
|
qDebug("QID:0x%" PRIx64 ", the %dth task type %s initialized, dbNum:%lu, tbNum:%d", pJob->queryId, taskIdx,
|
||||||
ctgTaskTypeStr(task.type), taosArrayGetSize(ctx->pNames), pJob->tbHashNum);
|
ctgTaskTypeStr(task.type), taosArrayGetSize(ctx->pNames), pJob->tbHashNum);
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
|
@ -280,7 +280,7 @@ int32_t ctgInitGetQnodeTask(SCtgJob* pJob, int32_t taskIdx, void* param) {
|
||||||
CTG_ERR_RET(terrno);
|
CTG_ERR_RET(terrno);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " the %dth task type %s initialized", pJob->queryId, taskIdx, ctgTaskTypeStr(task.type));
|
qDebug("QID:0x%" PRIx64 ", the %dth task type %s initialized", pJob->queryId, taskIdx, ctgTaskTypeStr(task.type));
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -298,7 +298,7 @@ int32_t ctgInitGetDnodeTask(SCtgJob* pJob, int32_t taskIdx, void* param) {
|
||||||
CTG_ERR_RET(terrno);
|
CTG_ERR_RET(terrno);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " the %dth task type %s initialized", pJob->queryId, taskIdx, ctgTaskTypeStr(task.type));
|
qDebug("QID:0x%" PRIx64 ", the %dth task type %s initialized", pJob->queryId, taskIdx, ctgTaskTypeStr(task.type));
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -325,7 +325,7 @@ int32_t ctgInitGetIndexTask(SCtgJob* pJob, int32_t taskIdx, void* param) {
|
||||||
CTG_ERR_RET(terrno);
|
CTG_ERR_RET(terrno);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " the %dth task type %s initialized, indexFName:%s", pJob->queryId, taskIdx,
|
qDebug("QID:0x%" PRIx64 ", the %dth task type %s initialized, indexFName:%s", pJob->queryId, taskIdx,
|
||||||
ctgTaskTypeStr(task.type), name);
|
ctgTaskTypeStr(task.type), name);
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
|
@ -353,7 +353,7 @@ int32_t ctgInitGetUdfTask(SCtgJob* pJob, int32_t taskIdx, void* param) {
|
||||||
CTG_ERR_RET(terrno);
|
CTG_ERR_RET(terrno);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " the %dth task type %s initialized, udfName:%s", pJob->queryId, taskIdx,
|
qDebug("QID:0x%" PRIx64 ", the %dth task type %s initialized, udfName:%s", pJob->queryId, taskIdx,
|
||||||
ctgTaskTypeStr(task.type), name);
|
ctgTaskTypeStr(task.type), name);
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
|
@ -381,7 +381,7 @@ int32_t ctgInitGetUserTask(SCtgJob* pJob, int32_t taskIdx, void* param) {
|
||||||
CTG_ERR_RET(terrno);
|
CTG_ERR_RET(terrno);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " the %dth task type %s initialized, user:%s", pJob->queryId, taskIdx,
|
qDebug("QID:0x%" PRIx64 ", the %dth task type %s initialized, user:%s", pJob->queryId, taskIdx,
|
||||||
ctgTaskTypeStr(task.type), user->user);
|
ctgTaskTypeStr(task.type), user->user);
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
|
@ -399,7 +399,7 @@ int32_t ctgInitGetSvrVerTask(SCtgJob* pJob, int32_t taskIdx, void* param) {
|
||||||
CTG_ERR_RET(terrno);
|
CTG_ERR_RET(terrno);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " the %dth task type %s initialized", pJob->queryId, taskIdx, ctgTaskTypeStr(task.type));
|
qDebug("QID:0x%" PRIx64 ", the %dth task type %s initialized", pJob->queryId, taskIdx, ctgTaskTypeStr(task.type));
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -431,7 +431,7 @@ int32_t ctgInitGetTbIndexTask(SCtgJob* pJob, int32_t taskIdx, void* param) {
|
||||||
CTG_ERR_RET(terrno);
|
CTG_ERR_RET(terrno);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " the %dth task type %s initialized, tbName:%s", pJob->queryId, taskIdx,
|
qDebug("QID:0x%" PRIx64 ", the %dth task type %s initialized, tbName:%s", pJob->queryId, taskIdx,
|
||||||
ctgTaskTypeStr(task.type), name->tname);
|
ctgTaskTypeStr(task.type), name->tname);
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
|
@ -464,7 +464,7 @@ int32_t ctgInitGetTbCfgTask(SCtgJob* pJob, int32_t taskIdx, void* param) {
|
||||||
CTG_ERR_RET(terrno);
|
CTG_ERR_RET(terrno);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " the %dth task type %s initialized, tbName:%s", pJob->queryId, taskIdx,
|
qDebug("QID:0x%" PRIx64 ", the %dth task type %s initialized, tbName:%s", pJob->queryId, taskIdx,
|
||||||
ctgTaskTypeStr(task.type), name->tname);
|
ctgTaskTypeStr(task.type), name->tname);
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
|
@ -497,7 +497,7 @@ int32_t ctgInitGetTbTagTask(SCtgJob* pJob, int32_t taskIdx, void* param) {
|
||||||
CTG_ERR_RET(terrno);
|
CTG_ERR_RET(terrno);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " the %dth task type %s initialized, tbName:%s", pJob->queryId, taskIdx,
|
qDebug("QID:0x%" PRIx64 ", the %dth task type %s initialized, tbName:%s", pJob->queryId, taskIdx,
|
||||||
ctgTaskTypeStr(task.type), name->tname);
|
ctgTaskTypeStr(task.type), name->tname);
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
|
@ -520,7 +520,7 @@ int32_t ctgInitGetViewsTask(SCtgJob* pJob, int32_t taskIdx, void* param) {
|
||||||
ctx->forceFetch = p->forceFetch;
|
ctx->forceFetch = p->forceFetch;
|
||||||
ctx->pResList = taosArrayInit(pJob->viewNum, sizeof(SMetaRes));
|
ctx->pResList = taosArrayInit(pJob->viewNum, sizeof(SMetaRes));
|
||||||
if (NULL == ctx->pResList) {
|
if (NULL == ctx->pResList) {
|
||||||
qError("QID:0x%" PRIx64 " taosArrayInit %d SMetaRes %d failed", pJob->queryId, pJob->viewNum,
|
qError("QID:0x%" PRIx64 ", taosArrayInit %d SMetaRes %d failed", pJob->queryId, pJob->viewNum,
|
||||||
(int32_t)sizeof(SMetaRes));
|
(int32_t)sizeof(SMetaRes));
|
||||||
ctgFreeTask(&task, true);
|
ctgFreeTask(&task, true);
|
||||||
CTG_ERR_RET(terrno);
|
CTG_ERR_RET(terrno);
|
||||||
|
@ -531,7 +531,7 @@ int32_t ctgInitGetViewsTask(SCtgJob* pJob, int32_t taskIdx, void* param) {
|
||||||
CTG_ERR_RET(terrno);
|
CTG_ERR_RET(terrno);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " the %dth task type %s initialized, dbNum:%lu, viewNum:%d", pJob->queryId, taskIdx,
|
qDebug("QID:0x%" PRIx64 ", the %dth task type %s initialized, dbNum:%lu, viewNum:%d", pJob->queryId, taskIdx,
|
||||||
ctgTaskTypeStr(task.type), taosArrayGetSize(ctx->pNames), pJob->viewNum);
|
ctgTaskTypeStr(task.type), taosArrayGetSize(ctx->pNames), pJob->viewNum);
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
|
@ -552,7 +552,7 @@ int32_t ctgInitGetTbTSMATask(SCtgJob* pJob, int32_t taskId, void* param) {
|
||||||
pTaskCtx->pNames = param;
|
pTaskCtx->pNames = param;
|
||||||
pTaskCtx->pResList = taosArrayInit(pJob->tbTsmaNum, sizeof(SMetaRes));
|
pTaskCtx->pResList = taosArrayInit(pJob->tbTsmaNum, sizeof(SMetaRes));
|
||||||
if (NULL == pTaskCtx->pResList) {
|
if (NULL == pTaskCtx->pResList) {
|
||||||
qError("QID:0x%" PRIx64 " taosArrayInit %d SMetaRes %d failed", pJob->queryId, pJob->tbTsmaNum,
|
qError("QID:0x%" PRIx64 ", taosArrayInit %d SMetaRes %d failed", pJob->queryId, pJob->tbTsmaNum,
|
||||||
(int32_t)sizeof(SMetaRes));
|
(int32_t)sizeof(SMetaRes));
|
||||||
ctgFreeTask(&task, true);
|
ctgFreeTask(&task, true);
|
||||||
CTG_ERR_RET(terrno);
|
CTG_ERR_RET(terrno);
|
||||||
|
@ -580,7 +580,7 @@ int32_t ctgInitGetTSMATask(SCtgJob* pJob, int32_t taskId, void* param) {
|
||||||
pTaskCtx->pNames = param;
|
pTaskCtx->pNames = param;
|
||||||
pTaskCtx->pResList = taosArrayInit(pJob->tsmaNum, sizeof(SMetaRes));
|
pTaskCtx->pResList = taosArrayInit(pJob->tsmaNum, sizeof(SMetaRes));
|
||||||
if (NULL == pTaskCtx->pResList) {
|
if (NULL == pTaskCtx->pResList) {
|
||||||
qError("QID:0x%" PRIx64 " taosArrayInit %d SMetaRes %d failed", pJob->queryId, pJob->tsmaNum,
|
qError("QID:0x%" PRIx64 ", taosArrayInit %d SMetaRes %d failed", pJob->queryId, pJob->tsmaNum,
|
||||||
(int32_t)sizeof(SMetaRes));
|
(int32_t)sizeof(SMetaRes));
|
||||||
ctgFreeTask(&task, true);
|
ctgFreeTask(&task, true);
|
||||||
CTG_ERR_RET(terrno);
|
CTG_ERR_RET(terrno);
|
||||||
|
@ -609,7 +609,7 @@ static int32_t ctgInitGetTbNamesTask(SCtgJob* pJob, int32_t taskId, void* param)
|
||||||
pTaskCtx->pNames = param;
|
pTaskCtx->pNames = param;
|
||||||
pTaskCtx->pResList = taosArrayInit(pJob->tbNameNum, sizeof(SMetaRes));
|
pTaskCtx->pResList = taosArrayInit(pJob->tbNameNum, sizeof(SMetaRes));
|
||||||
if (NULL == pTaskCtx->pResList) {
|
if (NULL == pTaskCtx->pResList) {
|
||||||
qError("QID:0x%" PRIx64 " taosArrayInit %d SMetaRes %d failed", pJob->queryId, pJob->tbNameNum,
|
qError("QID:0x%" PRIx64 ", taosArrayInit %d SMetaRes %d failed", pJob->queryId, pJob->tbNameNum,
|
||||||
(int32_t)sizeof(SMetaRes));
|
(int32_t)sizeof(SMetaRes));
|
||||||
ctgFreeTask(&task, true);
|
ctgFreeTask(&task, true);
|
||||||
CTG_ERR_RET(terrno);
|
CTG_ERR_RET(terrno);
|
||||||
|
@ -873,7 +873,7 @@ int32_t ctgInitJob(SCatalog* pCtg, SRequestConnInfo* pConn, SCtgJob** job, const
|
||||||
|
|
||||||
*job = taosMemoryCalloc(1, sizeof(SCtgJob));
|
*job = taosMemoryCalloc(1, sizeof(SCtgJob));
|
||||||
if (NULL == *job) {
|
if (NULL == *job) {
|
||||||
ctgError("failed to calloc, size:%d,QID:0x%" PRIx64, (int32_t)sizeof(SCtgJob), pConn->requestId);
|
ctgError("failed to calloc, size:%d, QID:0x%" PRIx64, (int32_t)sizeof(SCtgJob), pConn->requestId);
|
||||||
CTG_ERR_RET(terrno);
|
CTG_ERR_RET(terrno);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1478,16 +1478,16 @@ _return:
|
||||||
int32_t ctgCallUserCb(void* param) {
|
int32_t ctgCallUserCb(void* param) {
|
||||||
SCtgJob* pJob = (SCtgJob*)param;
|
SCtgJob* pJob = (SCtgJob*)param;
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " ctg start to call user cb with rsp %s", pJob->queryId, tstrerror(pJob->jobResCode));
|
qDebug("QID:0x%" PRIx64 ", ctg start to call user cb with rsp %s", pJob->queryId, tstrerror(pJob->jobResCode));
|
||||||
|
|
||||||
(*pJob->userFp)(&pJob->jobRes, pJob->userParam, pJob->jobResCode);
|
(*pJob->userFp)(&pJob->jobRes, pJob->userParam, pJob->jobResCode);
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " ctg end to call user cb", pJob->queryId);
|
qDebug("QID:0x%" PRIx64 ", ctg end to call user cb", pJob->queryId);
|
||||||
|
|
||||||
int64_t refId = pJob->refId;
|
int64_t refId = pJob->refId;
|
||||||
int32_t code = taosRemoveRef(gCtgMgmt.jobPool, refId);
|
int32_t code = taosRemoveRef(gCtgMgmt.jobPool, refId);
|
||||||
if (code) {
|
if (code) {
|
||||||
qError("QID:0x%" PRIx64 " remove ctg job %" PRId64 " from jobPool failed, error:%s", pJob->queryId, refId,
|
qError("QID:0x%" PRIx64 ", remove ctg job %" PRId64 " from jobPool failed, error:%s", pJob->queryId, refId,
|
||||||
tstrerror(code));
|
tstrerror(code));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1498,7 +1498,7 @@ void ctgUpdateJobErrCode(SCtgJob* pJob, int32_t errCode) {
|
||||||
if (!NEED_CLIENT_REFRESH_VG_ERROR(errCode) || errCode == TSDB_CODE_SUCCESS) return;
|
if (!NEED_CLIENT_REFRESH_VG_ERROR(errCode) || errCode == TSDB_CODE_SUCCESS) return;
|
||||||
|
|
||||||
atomic_store_32(&pJob->jobResCode, errCode);
|
atomic_store_32(&pJob->jobResCode, errCode);
|
||||||
qDebug("QID:0x%" PRIx64 " ctg job errCode updated to %s", pJob->queryId, tstrerror(errCode));
|
qDebug("QID:0x%" PRIx64 ", ctg job errCode updated to %s", pJob->queryId, tstrerror(errCode));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1510,7 +1510,7 @@ int32_t ctgHandleTaskEnd(SCtgTask* pTask, int32_t rspCode) {
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " task %d end with res %s", pJob->queryId, pTask->taskId, tstrerror(rspCode));
|
qDebug("QID:0x%" PRIx64 ", task %d end with res %s", pJob->queryId, pTask->taskId, tstrerror(rspCode));
|
||||||
|
|
||||||
pTask->code = rspCode;
|
pTask->code = rspCode;
|
||||||
pTask->status = CTG_TASK_DONE;
|
pTask->status = CTG_TASK_DONE;
|
||||||
|
@ -1519,7 +1519,7 @@ int32_t ctgHandleTaskEnd(SCtgTask* pTask, int32_t rspCode) {
|
||||||
|
|
||||||
int32_t taskDone = atomic_add_fetch_32(&pJob->taskDone, 1);
|
int32_t taskDone = atomic_add_fetch_32(&pJob->taskDone, 1);
|
||||||
if (taskDone < taosArrayGetSize(pJob->pTasks)) {
|
if (taskDone < taosArrayGetSize(pJob->pTasks)) {
|
||||||
qDebug("QID:0x%" PRIx64 " task done: %d, total: %d", pJob->queryId, taskDone,
|
qDebug("QID:0x%" PRIx64 ", task done:%d, total:%d", pJob->queryId, taskDone,
|
||||||
(int32_t)taosArrayGetSize(pJob->pTasks));
|
(int32_t)taosArrayGetSize(pJob->pTasks));
|
||||||
|
|
||||||
ctgUpdateJobErrCode(pJob, rspCode);
|
ctgUpdateJobErrCode(pJob, rspCode);
|
||||||
|
@ -4374,7 +4374,7 @@ int32_t ctgLaunchJob(SCtgJob* pJob) {
|
||||||
CTG_ERR_RET(TSDB_CODE_CTG_INTERNAL_ERROR);
|
CTG_ERR_RET(TSDB_CODE_CTG_INTERNAL_ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " ctg launch [%dth] task", pJob->queryId, pTask->taskId);
|
qDebug("QID:0x%" PRIx64 ", ctg launch [%dth] task", pJob->queryId, pTask->taskId);
|
||||||
CTG_ERR_RET((*gCtgAsyncFps[pTask->type].launchFp)(pTask));
|
CTG_ERR_RET((*gCtgAsyncFps[pTask->type].launchFp)(pTask));
|
||||||
|
|
||||||
pTask = taosArrayGet(pJob->pTasks, i);
|
pTask = taosArrayGet(pJob->pTasks, i);
|
||||||
|
@ -4387,7 +4387,7 @@ int32_t ctgLaunchJob(SCtgJob* pJob) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (taskNum <= 0) {
|
if (taskNum <= 0) {
|
||||||
qDebug("QID:0x%" PRIx64 " ctg call user callback with rsp %s", pJob->queryId, tstrerror(pJob->jobResCode));
|
qDebug("QID:0x%" PRIx64 ", ctg call user callback with rsp %s", pJob->queryId, tstrerror(pJob->jobResCode));
|
||||||
|
|
||||||
CTG_ERR_RET(taosAsyncExec(ctgCallUserCb, pJob, NULL));
|
CTG_ERR_RET(taosAsyncExec(ctgCallUserCb, pJob, NULL));
|
||||||
#if CTG_BATCH_FETCH
|
#if CTG_BATCH_FETCH
|
||||||
|
|
|
@ -244,7 +244,7 @@ int32_t ctgAcquireVgInfoFromCache(SCatalog *pCtg, const char *dbFName, SCtgDBCac
|
||||||
|
|
||||||
CTG_CACHE_HIT_INC(CTG_CI_DB_VGROUP, 1);
|
CTG_CACHE_HIT_INC(CTG_CI_DB_VGROUP, 1);
|
||||||
|
|
||||||
ctgDebug("Got db vgInfo from cache, dbFName:%s", dbFName);
|
ctgDebug("get db vgInfo from cache, dbFName:%s", dbFName);
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
|
|
||||||
|
@ -280,14 +280,14 @@ int32_t ctgAcquireTbMetaFromCache(SCatalog *pCtg, const char *dbFName, const cha
|
||||||
|
|
||||||
CTG_LOCK(CTG_READ, &pCache->metaLock);
|
CTG_LOCK(CTG_READ, &pCache->metaLock);
|
||||||
if (NULL == pCache->pMeta) {
|
if (NULL == pCache->pMeta) {
|
||||||
ctgDebug("tb %s meta not in cache, dbFName:%s", tbName, dbFName);
|
ctgDebug("tb:%s meta not in cache, dbFName:%s", tbName, dbFName);
|
||||||
goto _return;
|
goto _return;
|
||||||
}
|
}
|
||||||
|
|
||||||
*pDb = dbCache;
|
*pDb = dbCache;
|
||||||
*pTb = pCache;
|
*pTb = pCache;
|
||||||
|
|
||||||
ctgDebug("tb %s meta got in cache, dbFName:%s", tbName, dbFName);
|
ctgDebug("tb:%s meta get in cache, dbFName:%s", tbName, dbFName);
|
||||||
|
|
||||||
CTG_META_HIT_INC(pCache->pMeta->tableType);
|
CTG_META_HIT_INC(pCache->pMeta->tableType);
|
||||||
|
|
||||||
|
@ -327,7 +327,7 @@ int32_t ctgAcquireVgMetaFromCache(SCatalog *pCtg, const char *dbFName, const cha
|
||||||
|
|
||||||
CTG_CACHE_HIT_INC(CTG_CI_DB_VGROUP, 1);
|
CTG_CACHE_HIT_INC(CTG_CI_DB_VGROUP, 1);
|
||||||
|
|
||||||
ctgDebug("Got db vgInfo from cache, dbFName:%s", dbFName);
|
ctgDebug("get db vgInfo from cache, dbFName:%s", dbFName);
|
||||||
|
|
||||||
tbCache = taosHashAcquire(dbCache->tbCache, tbName, strlen(tbName));
|
tbCache = taosHashAcquire(dbCache->tbCache, tbName, strlen(tbName));
|
||||||
if (NULL == tbCache) {
|
if (NULL == tbCache) {
|
||||||
|
@ -338,14 +338,14 @@ int32_t ctgAcquireVgMetaFromCache(SCatalog *pCtg, const char *dbFName, const cha
|
||||||
|
|
||||||
CTG_LOCK(CTG_READ, &tbCache->metaLock);
|
CTG_LOCK(CTG_READ, &tbCache->metaLock);
|
||||||
if (NULL == tbCache->pMeta) {
|
if (NULL == tbCache->pMeta) {
|
||||||
ctgDebug("tb %s meta not in cache, dbFName:%s", tbName, dbFName);
|
ctgDebug("tb:%s meta not in cache, dbFName:%s", tbName, dbFName);
|
||||||
CTG_META_NHIT_INC();
|
CTG_META_NHIT_INC();
|
||||||
goto _return;
|
goto _return;
|
||||||
}
|
}
|
||||||
|
|
||||||
*pTb = tbCache;
|
*pTb = tbCache;
|
||||||
|
|
||||||
ctgDebug("tb %s meta got in cache, dbFName:%s", tbName, dbFName);
|
ctgDebug("tb:%s meta get in cache, dbFName:%s", tbName, dbFName);
|
||||||
|
|
||||||
CTG_META_HIT_INC(tbCache->pMeta->tableType);
|
CTG_META_HIT_INC(tbCache->pMeta->tableType);
|
||||||
|
|
||||||
|
@ -557,7 +557,7 @@ int32_t ctgCopyTbMeta(SCatalog *pCtg, SCtgTbMetaCtx *ctx, SCtgDBCache **pDb, SCt
|
||||||
(*pTableMeta)->schemaExt = NULL;
|
(*pTableMeta)->schemaExt = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
ctgDebug("Got tb %s meta from cache, type:%d, dbFName:%s", ctx->pName->tname, tbMeta->tableType, dbFName);
|
ctgDebug("get tb:%s meta from cache, type:%d, dbFName:%s", ctx->pName->tname, tbMeta->tableType, dbFName);
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -577,7 +577,7 @@ int32_t ctgCopyTbMeta(SCatalog *pCtg, SCtgTbMetaCtx *ctx, SCtgDBCache **pDb, SCt
|
||||||
taosHashRelease(dbCache->tbCache, tbCache);
|
taosHashRelease(dbCache->tbCache, tbCache);
|
||||||
*pTb = NULL;
|
*pTb = NULL;
|
||||||
|
|
||||||
ctgDebug("Got ctb %s meta from cache, will continue to get its stb meta, type:%d, dbFName:%s", ctx->pName->tname,
|
ctgDebug("get ctb %s meta from cache, will continue to get its stb meta, type:%d, dbFName:%s", ctx->pName->tname,
|
||||||
ctx->tbInfo.tbType, dbFName);
|
ctx->tbInfo.tbType, dbFName);
|
||||||
|
|
||||||
CTG_ERR_RET(ctgAcquireStbMetaFromCache(dbCache, pCtg, dbFName, ctx->tbInfo.suid, &tbCache));
|
CTG_ERR_RET(ctgAcquireStbMetaFromCache(dbCache, pCtg, dbFName, ctx->tbInfo.suid, &tbCache));
|
||||||
|
@ -632,7 +632,7 @@ int32_t ctgReadTbMetaFromCache(SCatalog *pCtg, SCtgTbMetaCtx *ctx, STableMeta **
|
||||||
|
|
||||||
ctgReleaseTbMetaToCache(pCtg, dbCache, tbCache);
|
ctgReleaseTbMetaToCache(pCtg, dbCache, tbCache);
|
||||||
|
|
||||||
ctgDebug("Got tb %s meta from cache, dbFName:%s", ctx->pName->tname, dbFName);
|
ctgDebug("get tb:%s meta from cache, dbFName:%s", ctx->pName->tname, dbFName);
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
|
|
||||||
|
@ -669,7 +669,7 @@ int32_t ctgReadTbVerFromCache(SCatalog *pCtg, SName *pTableName, int32_t *sver,
|
||||||
*sver = tbMeta->sversion;
|
*sver = tbMeta->sversion;
|
||||||
*tver = tbMeta->tversion;
|
*tver = tbMeta->tversion;
|
||||||
|
|
||||||
ctgDebug("Got tb %s ver from cache, dbFName:%s, tbType:%d, sver:%d, tver:%d, suid:0x%" PRIx64, pTableName->tname,
|
ctgDebug("get tb:%s ver from cache, dbFName:%s, tbType:%d, sver:%d, tver:%d, suid:0x%" PRIx64, pTableName->tname,
|
||||||
dbFName, *tbType, *sver, *tver, *suid);
|
dbFName, *tbType, *sver, *tver, *suid);
|
||||||
|
|
||||||
ctgReleaseTbMetaToCache(pCtg, dbCache, tbCache);
|
ctgReleaseTbMetaToCache(pCtg, dbCache, tbCache);
|
||||||
|
@ -684,7 +684,7 @@ int32_t ctgReadTbVerFromCache(SCatalog *pCtg, SName *pTableName, int32_t *sver,
|
||||||
taosHashRelease(dbCache->tbCache, tbCache);
|
taosHashRelease(dbCache->tbCache, tbCache);
|
||||||
}
|
}
|
||||||
|
|
||||||
ctgDebug("Got ctb %s ver from cache, will continue to get its stb ver, dbFName:%s", pTableName->tname, dbFName);
|
ctgDebug("get ctb %s ver from cache, will continue to get its stb ver, dbFName:%s", pTableName->tname, dbFName);
|
||||||
|
|
||||||
CTG_ERR_RET(ctgAcquireStbMetaFromCache(dbCache, pCtg, dbFName, *suid, &tbCache));
|
CTG_ERR_RET(ctgAcquireStbMetaFromCache(dbCache, pCtg, dbFName, *suid, &tbCache));
|
||||||
if (NULL == tbCache) {
|
if (NULL == tbCache) {
|
||||||
|
@ -711,7 +711,7 @@ int32_t ctgReadTbVerFromCache(SCatalog *pCtg, SName *pTableName, int32_t *sver,
|
||||||
|
|
||||||
ctgReleaseTbMetaToCache(pCtg, dbCache, tbCache);
|
ctgReleaseTbMetaToCache(pCtg, dbCache, tbCache);
|
||||||
|
|
||||||
ctgDebug("Got tb %s sver %d tver %d from cache, type:%d, dbFName:%s", pTableName->tname, *sver, *tver, *tbType,
|
ctgDebug("get tb:%s sver %d tver %d from cache, type:%d, dbFName:%s", pTableName->tname, *sver, *tver, *tbType,
|
||||||
dbFName);
|
dbFName);
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
|
@ -729,7 +729,7 @@ int32_t ctgReadTbTypeFromCache(SCatalog *pCtg, char *dbFName, char *tbName, int3
|
||||||
*tbType = tbCache->pMeta->tableType;
|
*tbType = tbCache->pMeta->tableType;
|
||||||
ctgReleaseTbMetaToCache(pCtg, dbCache, tbCache);
|
ctgReleaseTbMetaToCache(pCtg, dbCache, tbCache);
|
||||||
|
|
||||||
ctgDebug("Got tb %s tbType %d from cache, dbFName:%s", tbName, *tbType, dbFName);
|
ctgDebug("get tb:%s tbType %d from cache, dbFName:%s", tbName, *tbType, dbFName);
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -835,7 +835,7 @@ int32_t ctgChkAuthFromCache(SCatalog *pCtg, SUserAuthInfo *pReq, bool tbNotExist
|
||||||
|
|
||||||
*inCache = true;
|
*inCache = true;
|
||||||
|
|
||||||
ctgDebug("Got user from cache, user:%s", pReq->user);
|
ctgDebug("get user from cache, user:%s", pReq->user);
|
||||||
CTG_CACHE_HIT_INC(CTG_CI_USER, 1);
|
CTG_CACHE_HIT_INC(CTG_CI_USER, 1);
|
||||||
|
|
||||||
SCtgAuthReq req = {0};
|
SCtgAuthReq req = {0};
|
||||||
|
@ -3517,7 +3517,7 @@ int32_t ctgGetTbMetasFromCache(SCatalog *pCtg, SRequestConnInfo *pConn, SCtgTbMe
|
||||||
CTG_UNLOCK(CTG_READ, &pCache->metaLock);
|
CTG_UNLOCK(CTG_READ, &pCache->metaLock);
|
||||||
taosHashRelease(dbCache->tbCache, pCache);
|
taosHashRelease(dbCache->tbCache, pCache);
|
||||||
|
|
||||||
ctgDebug("Got tb %s meta from cache, type:%d, dbFName:%s", pName->tname, pTableMeta->tableType, dbFName);
|
ctgDebug("get tb:%s meta from cache, type:%d, dbFName:%s", pName->tname, pTableMeta->tableType, dbFName);
|
||||||
|
|
||||||
res.pRes = pTableMeta;
|
res.pRes = pTableMeta;
|
||||||
if (NULL == taosArrayPush(ctx->pResList, &res)) {
|
if (NULL == taosArrayPush(ctx->pResList, &res)) {
|
||||||
|
@ -3542,7 +3542,7 @@ int32_t ctgGetTbMetasFromCache(SCatalog *pCtg, SRequestConnInfo *pConn, SCtgTbMe
|
||||||
CTG_UNLOCK(CTG_READ, &pCache->metaLock);
|
CTG_UNLOCK(CTG_READ, &pCache->metaLock);
|
||||||
taosHashRelease(dbCache->tbCache, pCache);
|
taosHashRelease(dbCache->tbCache, pCache);
|
||||||
|
|
||||||
ctgDebug("Got tb %s meta from cache, type:%d, dbFName:%s", pName->tname, pTableMeta->tableType, dbFName);
|
ctgDebug("get tb:%s meta from cache, type:%d, dbFName:%s", pName->tname, pTableMeta->tableType, dbFName);
|
||||||
|
|
||||||
res.pRes = pTableMeta;
|
res.pRes = pTableMeta;
|
||||||
if (NULL == taosArrayPush(ctx->pResList, &res)) {
|
if (NULL == taosArrayPush(ctx->pResList, &res)) {
|
||||||
|
@ -3564,7 +3564,7 @@ int32_t ctgGetTbMetasFromCache(SCatalog *pCtg, SRequestConnInfo *pConn, SCtgTbMe
|
||||||
CTG_UNLOCK(CTG_READ, &pCache->metaLock);
|
CTG_UNLOCK(CTG_READ, &pCache->metaLock);
|
||||||
taosHashRelease(dbCache->tbCache, pCache);
|
taosHashRelease(dbCache->tbCache, pCache);
|
||||||
|
|
||||||
ctgDebug("Got ctb %s meta from cache, will continue to get its stb meta, type:%d, dbFName:%s", pName->tname,
|
ctgDebug("get ctb %s meta from cache, will continue to get its stb meta, type:%d, dbFName:%s", pName->tname,
|
||||||
nctx.tbInfo.tbType, dbFName);
|
nctx.tbInfo.tbType, dbFName);
|
||||||
|
|
||||||
char *stName = taosHashAcquire(dbCache->stbCache, &pTableMeta->suid, sizeof(pTableMeta->suid));
|
char *stName = taosHashAcquire(dbCache->stbCache, &pTableMeta->suid, sizeof(pTableMeta->suid));
|
||||||
|
@ -3877,7 +3877,7 @@ int32_t ctgGetViewsFromCache(SCatalog *pCtg, SRequestConnInfo *pConn, SCtgViewsC
|
||||||
CTG_UNLOCK(CTG_READ, &pCache->viewLock);
|
CTG_UNLOCK(CTG_READ, &pCache->viewLock);
|
||||||
taosHashRelease(dbCache->viewCache, pCache);
|
taosHashRelease(dbCache->viewCache, pCache);
|
||||||
|
|
||||||
ctgDebug("Got view %s meta from cache, dbFName:%s", pName->tname, dbFName);
|
ctgDebug("get view %s meta from cache, dbFName:%s", pName->tname, dbFName);
|
||||||
|
|
||||||
res.pRes = pViewMeta;
|
res.pRes = pViewMeta;
|
||||||
if (NULL == taosArrayPush(ctx->pResList, &res)) {
|
if (NULL == taosArrayPush(ctx->pResList, &res)) {
|
||||||
|
|
|
@ -48,7 +48,7 @@ int32_t ctgHandleBatchRsp(SCtgJob* pJob, SCtgTaskCallbackParam* cbParam, SDataBu
|
||||||
msgNum = 0;
|
msgNum = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
ctgDebug("QID:0x%" PRIx64 " ctg got batch %d rsp %s", pJob->queryId, cbParam->batchId,
|
ctgDebug("QID:0x%" PRIx64 ", ctg got batch %d rsp %s", pJob->queryId, cbParam->batchId,
|
||||||
TMSG_INFO(cbParam->reqType + 1));
|
TMSG_INFO(cbParam->reqType + 1));
|
||||||
|
|
||||||
SHashObj* pBatchs = taosHashInit(taskNum, taosGetDefaultHashFunction(TSDB_DATA_TYPE_INT), false, HASH_NO_LOCK);
|
SHashObj* pBatchs = taosHashInit(taskNum, taosGetDefaultHashFunction(TSDB_DATA_TYPE_INT), false, HASH_NO_LOCK);
|
||||||
|
@ -115,7 +115,7 @@ int32_t ctgHandleBatchRsp(SCtgJob* pJob, SCtgTaskCallbackParam* cbParam, SDataBu
|
||||||
|
|
||||||
pMsgCtx->pBatchs = pBatchs;
|
pMsgCtx->pBatchs = pBatchs;
|
||||||
|
|
||||||
ctgDebug("QID:0x%" PRIx64 " ctg task %d idx %d start to handle rsp %s, pBatchs: %p", pJob->queryId, pTask->taskId,
|
ctgDebug("QID:0x%" PRIx64 ", ctg task %d idx %d start to handle rsp %s, pBatchs: %p", pJob->queryId, pTask->taskId,
|
||||||
pRsp->msgIdx, TMSG_INFO(taskMsg.msgType + 1), pBatchs);
|
pRsp->msgIdx, TMSG_INFO(taskMsg.msgType + 1), pBatchs);
|
||||||
|
|
||||||
(void)(*gCtgAsyncFps[pTask->type].handleRspFp)(
|
(void)(*gCtgAsyncFps[pTask->type].handleRspFp)(
|
||||||
|
@ -148,7 +148,7 @@ int32_t ctgProcessRspMsg(void* out, int32_t reqType, char* msg, int32_t msgSize,
|
||||||
CTG_ERR_RET(code);
|
CTG_ERR_RET(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("Got qnode list from mnode, listNum:%d", (int32_t)taosArrayGetSize(out));
|
qDebug("get qnode list from mnode, listNum:%d", (int32_t)taosArrayGetSize(out));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TDMT_MND_DNODE_LIST: {
|
case TDMT_MND_DNODE_LIST: {
|
||||||
|
@ -163,7 +163,7 @@ int32_t ctgProcessRspMsg(void* out, int32_t reqType, char* msg, int32_t msgSize,
|
||||||
CTG_ERR_RET(code);
|
CTG_ERR_RET(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("Got dnode list from mnode, listNum:%d", (int32_t)taosArrayGetSize(*(SArray**)out));
|
qDebug("get dnode list from mnode, listNum:%d", (int32_t)taosArrayGetSize(*(SArray**)out));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TDMT_MND_USE_DB: {
|
case TDMT_MND_USE_DB: {
|
||||||
|
@ -178,7 +178,7 @@ int32_t ctgProcessRspMsg(void* out, int32_t reqType, char* msg, int32_t msgSize,
|
||||||
CTG_ERR_RET(code);
|
CTG_ERR_RET(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("Got db vgInfo from mnode, dbFName:%s", target);
|
qDebug("get db vgInfo from mnode, dbFName:%s", target);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TDMT_MND_GET_DB_CFG: {
|
case TDMT_MND_GET_DB_CFG: {
|
||||||
|
@ -193,7 +193,7 @@ int32_t ctgProcessRspMsg(void* out, int32_t reqType, char* msg, int32_t msgSize,
|
||||||
CTG_ERR_RET(code);
|
CTG_ERR_RET(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("Got db cfg from mnode, dbFName:%s", target);
|
qDebug("get db cfg from mnode, dbFName:%s", target);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TDMT_MND_GET_INDEX: {
|
case TDMT_MND_GET_INDEX: {
|
||||||
|
@ -208,7 +208,7 @@ int32_t ctgProcessRspMsg(void* out, int32_t reqType, char* msg, int32_t msgSize,
|
||||||
CTG_ERR_RET(code);
|
CTG_ERR_RET(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("Got index from mnode, indexName:%s", target);
|
qDebug("get index from mnode, indexName:%s", target);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TDMT_MND_GET_TABLE_INDEX: {
|
case TDMT_MND_GET_TABLE_INDEX: {
|
||||||
|
@ -223,7 +223,7 @@ int32_t ctgProcessRspMsg(void* out, int32_t reqType, char* msg, int32_t msgSize,
|
||||||
CTG_ERR_RET(code);
|
CTG_ERR_RET(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("Got table index from mnode, tbFName:%s", target);
|
qDebug("get table index from mnode, tbFName:%s", target);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TDMT_MND_RETRIEVE_FUNC: {
|
case TDMT_MND_RETRIEVE_FUNC: {
|
||||||
|
@ -238,7 +238,7 @@ int32_t ctgProcessRspMsg(void* out, int32_t reqType, char* msg, int32_t msgSize,
|
||||||
CTG_ERR_RET(code);
|
CTG_ERR_RET(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("Got udf from mnode, funcName:%s", target);
|
qDebug("get udf from mnode, funcName:%s", target);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TDMT_MND_GET_USER_AUTH: {
|
case TDMT_MND_GET_USER_AUTH: {
|
||||||
|
@ -253,7 +253,7 @@ int32_t ctgProcessRspMsg(void* out, int32_t reqType, char* msg, int32_t msgSize,
|
||||||
CTG_ERR_RET(code);
|
CTG_ERR_RET(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("Got user auth from mnode, user:%s", target);
|
qDebug("get user auth from mnode, user:%s", target);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TDMT_MND_TABLE_META: {
|
case TDMT_MND_TABLE_META: {
|
||||||
|
@ -274,7 +274,7 @@ int32_t ctgProcessRspMsg(void* out, int32_t reqType, char* msg, int32_t msgSize,
|
||||||
CTG_ERR_RET(code);
|
CTG_ERR_RET(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("Got table meta from mnode, tbFName:%s", target);
|
qDebug("get table meta from mnode, tbFName:%s", target);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TDMT_VND_TABLE_META: {
|
case TDMT_VND_TABLE_META: {
|
||||||
|
@ -295,7 +295,7 @@ int32_t ctgProcessRspMsg(void* out, int32_t reqType, char* msg, int32_t msgSize,
|
||||||
CTG_ERR_RET(code);
|
CTG_ERR_RET(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("Got table meta from vnode, tbFName:%s", target);
|
qDebug("get table meta from vnode, tbFName:%s", target);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TDMT_VND_TABLE_NAME: {
|
case TDMT_VND_TABLE_NAME: {
|
||||||
|
@ -316,7 +316,7 @@ int32_t ctgProcessRspMsg(void* out, int32_t reqType, char* msg, int32_t msgSize,
|
||||||
CTG_ERR_RET(code);
|
CTG_ERR_RET(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("Got table meta from vnode, tbFName:%s", target);
|
qDebug("get table meta from vnode, tbFName:%s", target);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TDMT_VND_TABLE_CFG: {
|
case TDMT_VND_TABLE_CFG: {
|
||||||
|
@ -331,7 +331,7 @@ int32_t ctgProcessRspMsg(void* out, int32_t reqType, char* msg, int32_t msgSize,
|
||||||
CTG_ERR_RET(code);
|
CTG_ERR_RET(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("Got table cfg from vnode, tbFName:%s", target);
|
qDebug("get table cfg from vnode, tbFName:%s", target);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TDMT_MND_TABLE_CFG: {
|
case TDMT_MND_TABLE_CFG: {
|
||||||
|
@ -346,7 +346,7 @@ int32_t ctgProcessRspMsg(void* out, int32_t reqType, char* msg, int32_t msgSize,
|
||||||
CTG_ERR_RET(code);
|
CTG_ERR_RET(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("Got stb cfg from mnode, tbFName:%s", target);
|
qDebug("get stb cfg from mnode, tbFName:%s", target);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TDMT_MND_SERVER_VERSION: {
|
case TDMT_MND_SERVER_VERSION: {
|
||||||
|
@ -361,7 +361,7 @@ int32_t ctgProcessRspMsg(void* out, int32_t reqType, char* msg, int32_t msgSize,
|
||||||
CTG_ERR_RET(code);
|
CTG_ERR_RET(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("Got svr ver from mnode");
|
qDebug("get svr ver from mnode");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TDMT_MND_VIEW_META: {
|
case TDMT_MND_VIEW_META: {
|
||||||
|
@ -380,7 +380,7 @@ int32_t ctgProcessRspMsg(void* out, int32_t reqType, char* msg, int32_t msgSize,
|
||||||
CTG_ERR_RET(code);
|
CTG_ERR_RET(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("Got view-meta from mnode, viewFName:%s", target);
|
qDebug("get view-meta from mnode, viewFName:%s", target);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TDMT_MND_GET_TSMA:
|
case TDMT_MND_GET_TSMA:
|
||||||
|
@ -398,7 +398,7 @@ int32_t ctgProcessRspMsg(void* out, int32_t reqType, char* msg, int32_t msgSize,
|
||||||
CTG_ERR_RET(code);
|
CTG_ERR_RET(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("Got table tsma from mnode, tbFName:%s", target);
|
qDebug("get table tsma from mnode, tbFName:%s", target);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TDMT_VND_GET_STREAM_PROGRESS: {
|
case TDMT_VND_GET_STREAM_PROGRESS: {
|
||||||
|
@ -414,7 +414,7 @@ int32_t ctgProcessRspMsg(void* out, int32_t reqType, char* msg, int32_t msgSize,
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
if (TSDB_CODE_SUCCESS != rspCode) {
|
if (TSDB_CODE_SUCCESS != rspCode) {
|
||||||
qError("Got error rsp, error:%s", tstrerror(rspCode));
|
qError("get error rsp, error:%s", tstrerror(rspCode));
|
||||||
CTG_ERR_RET(rspCode);
|
CTG_ERR_RET(rspCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -455,7 +455,7 @@ int32_t ctgHandleMsgCallback(void* param, SDataBuf* pMsg, int32_t rspCode) {
|
||||||
CTG_ERR_JRET(TSDB_CODE_CTG_INTERNAL_ERROR);
|
CTG_ERR_JRET(TSDB_CODE_CTG_INTERNAL_ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " ctg task %d start to handle rsp %s", pJob->queryId, pTask->taskId,
|
qDebug("QID:0x%" PRIx64 ", ctg task %d start to handle rsp %s", pJob->queryId, pTask->taskId,
|
||||||
TMSG_INFO(cbParam->reqType + 1));
|
TMSG_INFO(cbParam->reqType + 1));
|
||||||
|
|
||||||
#if CTG_BATCH_FETCH
|
#if CTG_BATCH_FETCH
|
||||||
|
@ -562,7 +562,7 @@ int32_t ctgAsyncSendMsg(SCatalog* pCtg, SRequestConnInfo* pConn, SCtgJob* pJob,
|
||||||
CTG_ERR_JRET(code);
|
CTG_ERR_JRET(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
ctgDebug("ctg req msg sent,QID:0x%" PRIx64 ", msg type:%d, %s", pJob->queryId, msgType, TMSG_INFO(msgType));
|
ctgDebug("ctg req msg sent, QID:0x%" PRIx64 ", msg type:%d, %s", pJob->queryId, msgType, TMSG_INFO(msgType));
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
|
|
||||||
_return:
|
_return:
|
||||||
|
@ -810,7 +810,7 @@ int32_t ctgLaunchBatchs(SCatalog* pCtg, SCtgJob* pJob, SHashObj* pBatchs) {
|
||||||
SCtgBatch* pBatch = (SCtgBatch*)p;
|
SCtgBatch* pBatch = (SCtgBatch*)p;
|
||||||
int32_t msgSize = 0;
|
int32_t msgSize = 0;
|
||||||
|
|
||||||
ctgDebug("QID:0x%" PRIx64 " ctg start to launch batch %d", pJob->queryId, pBatch->batchId);
|
ctgDebug("QID:0x%" PRIx64 ", ctg start to launch batch %d", pJob->queryId, pBatch->batchId);
|
||||||
|
|
||||||
CTG_ERR_JRET(ctgBuildBatchReqMsg(pBatch, *vgId, &msg, &msgSize));
|
CTG_ERR_JRET(ctgBuildBatchReqMsg(pBatch, *vgId, &msg, &msgSize));
|
||||||
code = ctgAsyncSendMsg(pCtg, &pBatch->conn, pJob, pBatch->pTaskIds, pBatch->batchId, pBatch->pMsgIdxs,
|
code = ctgAsyncSendMsg(pCtg, &pBatch->conn, pJob, pBatch->pTaskIds, pBatch->batchId, pBatch->pMsgIdxs,
|
||||||
|
|
|
@ -194,7 +194,7 @@ int32_t ctgMetaRentGetImpl(SCtgRentMgmt *mgmt, void **res, uint32_t *num, int32_
|
||||||
|
|
||||||
*num = (uint32_t)metaNum;
|
*num = (uint32_t)metaNum;
|
||||||
|
|
||||||
qDebug("Got %d meta from rent, type:%d", (int32_t)metaNum, mgmt->type);
|
qDebug("get %d meta from rent, type:%d", (int32_t)metaNum, mgmt->type);
|
||||||
|
|
||||||
_return:
|
_return:
|
||||||
|
|
||||||
|
|
|
@ -1196,7 +1196,7 @@ int32_t ctgGenerateVgList(SCatalog* pCtg, SHashObj* vgHash, SArray** pList, cons
|
||||||
|
|
||||||
*pList = vgList;
|
*pList = vgList;
|
||||||
|
|
||||||
ctgDebug("Got vgList from cache, vgNum:%d", vgNum);
|
ctgDebug("get vgList from cache, vgNum:%d", vgNum);
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
|
|
||||||
|
@ -1293,7 +1293,7 @@ int32_t ctgGetVgInfoFromHashValue(SCatalog* pCtg, SEpSet* pMgmtEps, SDBVgInfo* d
|
||||||
|
|
||||||
*pVgroup = *vgInfo;
|
*pVgroup = *vgInfo;
|
||||||
|
|
||||||
ctgDebug("Got tb %s hash vgroup, vgId:%d, epNum %d, current %s port %d", tbFullName, vgInfo->vgId,
|
ctgDebug("get tb:%s hash vgroup, vgId:%d, epNum %d, current %s port %d", tbFullName, vgInfo->vgId,
|
||||||
vgInfo->epSet.numOfEps, vgInfo->epSet.eps[vgInfo->epSet.inUse].fqdn,
|
vgInfo->epSet.numOfEps, vgInfo->epSet.eps[vgInfo->epSet.inUse].fqdn,
|
||||||
vgInfo->epSet.eps[vgInfo->epSet.inUse].port);
|
vgInfo->epSet.eps[vgInfo->epSet.inUse].port);
|
||||||
|
|
||||||
|
@ -1327,7 +1327,7 @@ int32_t ctgGetVgInfosFromHashValue(SCatalog* pCtg, SEpSet* pMgmgEpSet, SCtgTaskR
|
||||||
|
|
||||||
TAOS_MEMCPY(vgInfo, &mgmtInfo, sizeof(mgmtInfo));
|
TAOS_MEMCPY(vgInfo, &mgmtInfo, sizeof(mgmtInfo));
|
||||||
|
|
||||||
ctgDebug("Got tb hash vgroup, vgId:%d, epNum %d, current %s port %d", vgInfo->vgId, vgInfo->epSet.numOfEps,
|
ctgDebug("get tb hash vgroup, vgId:%d, epNum %d, current %s port %d", vgInfo->vgId, vgInfo->epSet.numOfEps,
|
||||||
vgInfo->epSet.eps[vgInfo->epSet.inUse].fqdn, vgInfo->epSet.eps[vgInfo->epSet.inUse].port);
|
vgInfo->epSet.eps[vgInfo->epSet.inUse].fqdn, vgInfo->epSet.eps[vgInfo->epSet.inUse].port);
|
||||||
|
|
||||||
if (update) {
|
if (update) {
|
||||||
|
@ -1376,7 +1376,7 @@ int32_t ctgGetVgInfosFromHashValue(SCatalog* pCtg, SEpSet* pMgmgEpSet, SCtgTaskR
|
||||||
|
|
||||||
TAOS_MEMCPY(vgInfo, pSrcVg, sizeof(*pSrcVg));
|
TAOS_MEMCPY(vgInfo, pSrcVg, sizeof(*pSrcVg));
|
||||||
|
|
||||||
ctgDebug("Got tb hash vgroup, vgId:%d, epNum %d, current %s port %d", vgInfo->vgId, vgInfo->epSet.numOfEps,
|
ctgDebug("get tb hash vgroup, vgId:%d, epNum %d, current %s port %d", vgInfo->vgId, vgInfo->epSet.numOfEps,
|
||||||
vgInfo->epSet.eps[vgInfo->epSet.inUse].fqdn, vgInfo->epSet.eps[vgInfo->epSet.inUse].port);
|
vgInfo->epSet.eps[vgInfo->epSet.inUse].fqdn, vgInfo->epSet.eps[vgInfo->epSet.inUse].port);
|
||||||
|
|
||||||
if (update) {
|
if (update) {
|
||||||
|
@ -1437,7 +1437,7 @@ int32_t ctgGetVgInfosFromHashValue(SCatalog* pCtg, SEpSet* pMgmgEpSet, SCtgTaskR
|
||||||
|
|
||||||
*pNewVg = *vgInfo;
|
*pNewVg = *vgInfo;
|
||||||
|
|
||||||
ctgDebug("Got tb %s hash vgroup, vgId:%d, epNum %d, current %s port %d", tbFullName, vgInfo->vgId,
|
ctgDebug("get tb:%s hash vgroup, vgId:%d, epNum %d, current %s port %d", tbFullName, vgInfo->vgId,
|
||||||
vgInfo->epSet.numOfEps, vgInfo->epSet.eps[vgInfo->epSet.inUse].fqdn,
|
vgInfo->epSet.numOfEps, vgInfo->epSet.eps[vgInfo->epSet.inUse].fqdn,
|
||||||
vgInfo->epSet.eps[vgInfo->epSet.inUse].port);
|
vgInfo->epSet.eps[vgInfo->epSet.inUse].port);
|
||||||
|
|
||||||
|
@ -1496,7 +1496,7 @@ int32_t ctgGetVgIdsFromHashValue(SCatalog* pCtg, SDBVgInfo* dbInfo, char* dbFNam
|
||||||
|
|
||||||
vgId[i] = vgInfo->vgId;
|
vgId[i] = vgInfo->vgId;
|
||||||
|
|
||||||
ctgDebug("Got tb %s vgId:%d", tbFullName, vgInfo->vgId);
|
ctgDebug("get tb:%s vgId:%d", tbFullName, vgInfo->vgId);
|
||||||
}
|
}
|
||||||
|
|
||||||
CTG_RET(code);
|
CTG_RET(code);
|
||||||
|
|
|
@ -360,7 +360,7 @@ int32_t doAggregateImpl(SOperatorInfo* pOperator, SqlFunctionCtx* pCtx) {
|
||||||
if (pCtx[k].fpSet.cleanup != NULL) {
|
if (pCtx[k].fpSet.cleanup != NULL) {
|
||||||
pCtx[k].fpSet.cleanup(&pCtx[k]);
|
pCtx[k].fpSet.cleanup(&pCtx[k]);
|
||||||
}
|
}
|
||||||
qError("%s aggregate function error happens, code: %s", GET_TASKID(pOperator->pTaskInfo), tstrerror(code));
|
qError("%s aggregate function error happens, code:%s", GET_TASKID(pOperator->pTaskInfo), tstrerror(code));
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -803,7 +803,7 @@ int32_t applyAggFunctionOnPartialTuples(SExecTaskInfo* taskInfo, SqlFunctionCtx*
|
||||||
if (pCtx[k].fpSet.cleanup != NULL) {
|
if (pCtx[k].fpSet.cleanup != NULL) {
|
||||||
pCtx[k].fpSet.cleanup(&pCtx[k]);
|
pCtx[k].fpSet.cleanup(&pCtx[k]);
|
||||||
}
|
}
|
||||||
qError("%s apply functions error, code: %s", GET_TASKID(taskInfo), tstrerror(code));
|
qError("%s apply functions error, code:%s", GET_TASKID(taskInfo), tstrerror(code));
|
||||||
taskInfo->code = code;
|
taskInfo->code = code;
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2911,7 +2911,7 @@ int32_t createScanTableListInfo(SScanPhysiNode* pScanNode, SNodeList* pGroupTags
|
||||||
int32_t code = getTableList(pHandle->vnode, pScanNode, pTagCond, pTagIndexCond, pTableListInfo, digest, idStr,
|
int32_t code = getTableList(pHandle->vnode, pScanNode, pTagCond, pTagIndexCond, pTableListInfo, digest, idStr,
|
||||||
&pTaskInfo->storageAPI);
|
&pTaskInfo->storageAPI);
|
||||||
if (code != TSDB_CODE_SUCCESS) {
|
if (code != TSDB_CODE_SUCCESS) {
|
||||||
qError("failed to getTableList, code: %s", tstrerror(code));
|
qError("failed to getTableList, code:%s", tstrerror(code));
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -645,7 +645,7 @@ int32_t qCreateExecTask(SReadHandle* readHandle, int32_t vgId, uint64_t taskId,
|
||||||
|
|
||||||
int32_t code = createExecTaskInfo(pSubplan, pTask, readHandle, taskId, vgId, sql, model);
|
int32_t code = createExecTaskInfo(pSubplan, pTask, readHandle, taskId, vgId, sql, model);
|
||||||
if (code != TSDB_CODE_SUCCESS || NULL == *pTask) {
|
if (code != TSDB_CODE_SUCCESS || NULL == *pTask) {
|
||||||
qError("failed to createExecTaskInfo, code: %s", tstrerror(code));
|
qError("failed to createExecTaskInfo, code:%s", tstrerror(code));
|
||||||
goto _error;
|
goto _error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -292,7 +292,7 @@ static void doHashGroupbyAgg(SOperatorInfo* pOperator, SSDataBlock* pBlock) {
|
||||||
SqlFunctionCtx* pCtx = pOperator->exprSupp.pCtx;
|
SqlFunctionCtx* pCtx = pOperator->exprSupp.pCtx;
|
||||||
int32_t numOfGroupCols = taosArrayGetSize(pInfo->pGroupCols);
|
int32_t numOfGroupCols = taosArrayGetSize(pInfo->pGroupCols);
|
||||||
// if (type == TSDB_DATA_TYPE_FLOAT || type == TSDB_DATA_TYPE_DOUBLE) {
|
// if (type == TSDB_DATA_TYPE_FLOAT || type == TSDB_DATA_TYPE_DOUBLE) {
|
||||||
// qError("QInfo:0x%"PRIx64" group by not supported on double/float columns, abort", GET_TASKID(pRuntimeEnv));
|
// qError("QInfo:0x%"PRIx64 " group by not supported on double/float columns, abort", GET_TASKID(pRuntimeEnv));
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
|
@ -349,7 +349,7 @@ int32_t createOperator(SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo, SReadHand
|
||||||
if (code) {
|
if (code) {
|
||||||
pTaskInfo->code = code;
|
pTaskInfo->code = code;
|
||||||
tableListDestroy(pTableListInfo);
|
tableListDestroy(pTableListInfo);
|
||||||
qError("failed to createScanTableListInfo, code: %s", tstrerror(code));
|
qError("failed to createScanTableListInfo, code:%s", tstrerror(code));
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -387,7 +387,7 @@ int32_t createOperator(SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo, SReadHand
|
||||||
if (code) {
|
if (code) {
|
||||||
pTaskInfo->code = code;
|
pTaskInfo->code = code;
|
||||||
tableListDestroy(pTableListInfo);
|
tableListDestroy(pTableListInfo);
|
||||||
qError("failed to createScanTableListInfo, code: %s", tstrerror(code));
|
qError("failed to createScanTableListInfo, code:%s", tstrerror(code));
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -417,7 +417,7 @@ int32_t createOperator(SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo, SReadHand
|
||||||
pTagIndexCond, pTaskInfo);
|
pTagIndexCond, pTaskInfo);
|
||||||
if (code != TSDB_CODE_SUCCESS) {
|
if (code != TSDB_CODE_SUCCESS) {
|
||||||
pTaskInfo->code = code;
|
pTaskInfo->code = code;
|
||||||
qError("failed to getTableList, code: %s", tstrerror(code));
|
qError("failed to getTableList, code:%s", tstrerror(code));
|
||||||
tableListDestroy(pTableListInfo);
|
tableListDestroy(pTableListInfo);
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
|
@ -5193,7 +5193,7 @@ static int32_t doTagScanFromMetaEntryNext(SOperatorInfo* pOperator, SSDataBlock*
|
||||||
setOperatorCompleted(pOperator);
|
setOperatorCompleted(pOperator);
|
||||||
}
|
}
|
||||||
|
|
||||||
// qDebug("QInfo:0x%"PRIx64" create tag values results completed, rows:%d", GET_TASKID(pRuntimeEnv), count);
|
// qDebug("QInfo:0x%"PRIx64 " create tag values results completed, rows:%d", GET_TASKID(pRuntimeEnv), count);
|
||||||
if (pOperator->status == OP_EXEC_DONE) {
|
if (pOperator->status == OP_EXEC_DONE) {
|
||||||
setTaskStatus(pTaskInfo, TASK_COMPLETED);
|
setTaskStatus(pTaskInfo, TASK_COMPLETED);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1733,7 +1733,7 @@ void onUdfcPipeWrite(uv_write_t *write, int32_t status) {
|
||||||
void onUdfcPipeConnect(uv_connect_t *connect, int32_t status) {
|
void onUdfcPipeConnect(uv_connect_t *connect, int32_t status) {
|
||||||
SClientUvTaskNode *uvTask = connect->data;
|
SClientUvTaskNode *uvTask = connect->data;
|
||||||
if (status != 0) {
|
if (status != 0) {
|
||||||
fnError("client connect error, task seq: %" PRId64 ", code: %s", uvTask->seqNum, uv_strerror(status));
|
fnError("client connect error, task seq: %" PRId64 ", code:%s", uvTask->seqNum, uv_strerror(status));
|
||||||
}
|
}
|
||||||
uvTask->errCode = status;
|
uvTask->errCode = status;
|
||||||
|
|
||||||
|
@ -1812,7 +1812,7 @@ int32_t udfcQueueUvTask(SClientUvTaskNode *uvTask) {
|
||||||
uv_mutex_unlock(&udfc->taskQueueMutex);
|
uv_mutex_unlock(&udfc->taskQueueMutex);
|
||||||
int32_t code = uv_async_send(&udfc->loopTaskAync);
|
int32_t code = uv_async_send(&udfc->loopTaskAync);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
fnError("udfc queue uv task to event loop failed. code: %s", uv_strerror(code));
|
fnError("udfc queue uv task to event loop failed. code:%s", uv_strerror(code));
|
||||||
return TSDB_CODE_UDF_UV_EXEC_FAILURE;
|
return TSDB_CODE_UDF_UV_EXEC_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1884,7 +1884,7 @@ int32_t udfcStartUvTask(SClientUvTaskNode *uvTask) {
|
||||||
int32_t err = uv_write(write, (uv_stream_t *)pipe, &uvTask->reqBuf, 1, onUdfcPipeWrite);
|
int32_t err = uv_write(write, (uv_stream_t *)pipe, &uvTask->reqBuf, 1, onUdfcPipeWrite);
|
||||||
if (err != 0) {
|
if (err != 0) {
|
||||||
taosMemoryFree(write);
|
taosMemoryFree(write);
|
||||||
fnError("udfc event loop start req_rsp task uv_write failed. uvtask: %p, code: %s", uvTask, uv_strerror(err));
|
fnError("udfc event loop start req_rsp task uv_write failed. uvtask: %p, code:%s", uvTask, uv_strerror(err));
|
||||||
}
|
}
|
||||||
code = err;
|
code = err;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1106,7 +1106,7 @@ void udfdProcessRpcRsp(void *parent, SRpcMsg *pMsg, SEpSet *pEpSet) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pMsg->code != TSDB_CODE_SUCCESS) {
|
if (pMsg->code != TSDB_CODE_SUCCESS) {
|
||||||
fnError("udfd rpc error. code: %s", tstrerror(pMsg->code));
|
fnError("udfd rpc error. code:%s", tstrerror(pMsg->code));
|
||||||
msgInfo->code = pMsg->code;
|
msgInfo->code = pMsg->code;
|
||||||
goto _return;
|
goto _return;
|
||||||
}
|
}
|
||||||
|
@ -1312,7 +1312,7 @@ void udfdOnWrite(uv_write_t *req, int status) {
|
||||||
TAOS_UDF_CHECK_PTR_RVOID(req);
|
TAOS_UDF_CHECK_PTR_RVOID(req);
|
||||||
SUvUdfWork *work = (SUvUdfWork *)req->data;
|
SUvUdfWork *work = (SUvUdfWork *)req->data;
|
||||||
if (status < 0) {
|
if (status < 0) {
|
||||||
fnError("udfd send response error, length: %zu code: %s", work->output.len, uv_err_name(status));
|
fnError("udfd send response error, length: %zu code:%s", work->output.len, uv_err_name(status));
|
||||||
}
|
}
|
||||||
// remove work from the connection work list
|
// remove work from the connection work list
|
||||||
if (work->conn != NULL) {
|
if (work->conn != NULL) {
|
||||||
|
@ -1477,7 +1477,7 @@ void udfdPipeRead(uv_stream_t *client, ssize_t nread, const uv_buf_t *buf) {
|
||||||
void udfdOnNewConnection(uv_stream_t *server, int status) {
|
void udfdOnNewConnection(uv_stream_t *server, int status) {
|
||||||
TAOS_UDF_CHECK_PTR_RVOID(server);
|
TAOS_UDF_CHECK_PTR_RVOID(server);
|
||||||
if (status < 0) {
|
if (status < 0) {
|
||||||
fnError("udfd new connection error. code: %s", uv_strerror(status));
|
fnError("udfd new connection error. code:%s", uv_strerror(status));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
|
|
|
@ -20,12 +20,12 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define nodesFatal(...) qFatal("NODES: " __VA_ARGS__)
|
#define nodesFatal(...) qFatal("NODES:" __VA_ARGS__)
|
||||||
#define nodesError(...) qError("NODES: " __VA_ARGS__)
|
#define nodesError(...) qError("NODES:" __VA_ARGS__)
|
||||||
#define nodesWarn(...) qWarn("NODES: " __VA_ARGS__)
|
#define nodesWarn(...) qWarn ("NODES:" __VA_ARGS__)
|
||||||
#define nodesInfo(...) qInfo("NODES: " __VA_ARGS__)
|
#define nodesInfo(...) qInfo ("NODES:" __VA_ARGS__)
|
||||||
#define nodesDebug(...) qDebug("NODES: " __VA_ARGS__)
|
#define nodesDebug(...) qDebug("NODES:" __VA_ARGS__)
|
||||||
#define nodesTrace(...) qTrace("NODES: " __VA_ARGS__)
|
#define nodesTrace(...) qTrace("NODES:" __VA_ARGS__)
|
||||||
|
|
||||||
#define NODES_ERR_RET(c) \
|
#define NODES_ERR_RET(c) \
|
||||||
do { \
|
do { \
|
||||||
|
|
|
@ -26,12 +26,12 @@ extern "C" {
|
||||||
#include "parToken.h"
|
#include "parToken.h"
|
||||||
#include "query.h"
|
#include "query.h"
|
||||||
|
|
||||||
#define parserFatal(param, ...) qFatal("PARSER: " param, ##__VA_ARGS__)
|
#define parserFatal(param, ...) qFatal("PARSER " param, ##__VA_ARGS__)
|
||||||
#define parserError(param, ...) qError("PARSER: " param, ##__VA_ARGS__)
|
#define parserError(param, ...) qError("PARSER " param, ##__VA_ARGS__)
|
||||||
#define parserWarn(param, ...) qWarn("PARSER: " param, ##__VA_ARGS__)
|
#define parserWarn(param, ...) qWarn ("PARSER " param, ##__VA_ARGS__)
|
||||||
#define parserInfo(param, ...) qInfo("PARSER: " param, ##__VA_ARGS__)
|
#define parserInfo(param, ...) qInfo ("PARSER " param, ##__VA_ARGS__)
|
||||||
#define parserDebug(param, ...) qDebug("PARSER: " param, ##__VA_ARGS__)
|
#define parserDebug(param, ...) qDebug("PARSER " param, ##__VA_ARGS__)
|
||||||
#define parserTrace(param, ...) qTrace("PARSER: " param, ##__VA_ARGS__)
|
#define parserTrace(param, ...) qTrace("PARSER " param, ##__VA_ARGS__)
|
||||||
|
|
||||||
#define ROWTS_PSEUDO_COLUMN_NAME "_rowts"
|
#define ROWTS_PSEUDO_COLUMN_NAME "_rowts"
|
||||||
#define C0_PSEUDO_COLUMN_NAME "_c0"
|
#define C0_PSEUDO_COLUMN_NAME "_c0"
|
||||||
|
|
|
@ -2351,7 +2351,7 @@ static int32_t parseCsvFile(SInsertParseContext* pCxt, SVnodeModifyOpStmt* pStmt
|
||||||
}
|
}
|
||||||
taosMemoryFree(pLine);
|
taosMemoryFree(pLine);
|
||||||
|
|
||||||
parserDebug("0x%" PRIx64 " %d rows have been parsed", pCxt->pComCxt->requestId, *pNumOfRows);
|
parserDebug("QID:0x%" PRIx64 ", %d rows have been parsed", pCxt->pComCxt->requestId, *pNumOfRows);
|
||||||
|
|
||||||
if (TSDB_CODE_SUCCESS == code && 0 == (*pNumOfRows) && 0 == pStmt->totalRowsNum &&
|
if (TSDB_CODE_SUCCESS == code && 0 == (*pNumOfRows) && 0 == pStmt->totalRowsNum &&
|
||||||
(!TSDB_QUERY_HAS_TYPE(pStmt->insertType, TSDB_QUERY_TYPE_STMT_INSERT)) && !pStmt->fileProcessing) {
|
(!TSDB_QUERY_HAS_TYPE(pStmt->insertType, TSDB_QUERY_TYPE_STMT_INSERT)) && !pStmt->fileProcessing) {
|
||||||
|
@ -2381,10 +2381,10 @@ static int32_t parseDataFromFileImpl(SInsertParseContext* pCxt, SVnodeModifyOpSt
|
||||||
if (!pStmt->fileProcessing) {
|
if (!pStmt->fileProcessing) {
|
||||||
code = taosCloseFile(&pStmt->fp);
|
code = taosCloseFile(&pStmt->fp);
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
parserWarn("0x%" PRIx64 " failed to close file.", pCxt->pComCxt->requestId);
|
parserWarn("QID:0x%" PRIx64 ", failed to close file.", pCxt->pComCxt->requestId);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
parserDebug("0x%" PRIx64 " insert from csv. File is too large, do it in batches.", pCxt->pComCxt->requestId);
|
parserDebug("QID:0x%" PRIx64 ", insert from csv. File is too large, do it in batches.", pCxt->pComCxt->requestId);
|
||||||
}
|
}
|
||||||
if (pStmt->insertType != TSDB_QUERY_TYPE_FILE_INSERT) {
|
if (pStmt->insertType != TSDB_QUERY_TYPE_FILE_INSERT) {
|
||||||
return buildSyntaxErrMsg(&pCxt->msg, "keyword VALUES or FILE is exclusive", NULL);
|
return buildSyntaxErrMsg(&pCxt->msg, "keyword VALUES or FILE is exclusive", NULL);
|
||||||
|
@ -2676,7 +2676,7 @@ static int32_t checkTableClauseFirstToken(SInsertParseContext* pCxt, SVnodeModif
|
||||||
if (pCxt->isStmtBind) {
|
if (pCxt->isStmtBind) {
|
||||||
if (TK_NK_ID == pTbName->type || (tbNameAfterDbName != NULL && *(tbNameAfterDbName + 1) != '?')) {
|
if (TK_NK_ID == pTbName->type || (tbNameAfterDbName != NULL && *(tbNameAfterDbName + 1) != '?')) {
|
||||||
// In SQL statements, the table name has already been specified.
|
// In SQL statements, the table name has already been specified.
|
||||||
parserWarn("0x%" PRIx64 " table name is specified in sql, ignore the table name in bind param",
|
parserWarn("QID:0x%" PRIx64 ", table name is specified in sql, ignore the table name in bind param",
|
||||||
pCxt->pComCxt->requestId);
|
pCxt->pComCxt->requestId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3194,14 +3194,14 @@ static int32_t buildInsertCatalogReq(SInsertParseContext* pCxt, SVnodeModifyOpSt
|
||||||
static int32_t setNextStageInfo(SInsertParseContext* pCxt, SQuery* pQuery, SCatalogReq* pCatalogReq) {
|
static int32_t setNextStageInfo(SInsertParseContext* pCxt, SQuery* pQuery, SCatalogReq* pCatalogReq) {
|
||||||
SVnodeModifyOpStmt* pStmt = (SVnodeModifyOpStmt*)pQuery->pRoot;
|
SVnodeModifyOpStmt* pStmt = (SVnodeModifyOpStmt*)pQuery->pRoot;
|
||||||
if (pCxt->missCache) {
|
if (pCxt->missCache) {
|
||||||
parserDebug("0x%" PRIx64 " %d rows of %d tables have been inserted before cache miss", pCxt->pComCxt->requestId,
|
parserDebug("QID:0x%" PRIx64 ", %d rows of %d tables will insert before cache miss", pCxt->pComCxt->requestId,
|
||||||
pStmt->totalRowsNum, pStmt->totalTbNum);
|
pStmt->totalRowsNum, pStmt->totalTbNum);
|
||||||
|
|
||||||
pQuery->execStage = QUERY_EXEC_STAGE_PARSE;
|
pQuery->execStage = QUERY_EXEC_STAGE_PARSE;
|
||||||
return buildInsertCatalogReq(pCxt, pStmt, pCatalogReq);
|
return buildInsertCatalogReq(pCxt, pStmt, pCatalogReq);
|
||||||
}
|
}
|
||||||
|
|
||||||
parserDebug("0x%" PRIx64 " %d rows of %d tables have been inserted", pCxt->pComCxt->requestId, pStmt->totalRowsNum,
|
parserDebug("QID:0x%" PRIx64 ", %d rows of %d tables will insert", pCxt->pComCxt->requestId, pStmt->totalRowsNum,
|
||||||
pStmt->totalTbNum);
|
pStmt->totalTbNum);
|
||||||
|
|
||||||
pQuery->execStage = QUERY_EXEC_STAGE_SCHEDULE;
|
pQuery->execStage = QUERY_EXEC_STAGE_SCHEDULE;
|
||||||
|
|
|
@ -370,7 +370,7 @@ int32_t qBindStmtStbColsValue(void* pBlock, SArray* pCols, TAOS_MULTI_BIND* bind
|
||||||
|
|
||||||
code = tRowBuildFromBind(pBindInfos, boundInfo->numOfBound, colInOrder, *pTSchema, pCols, &pDataBlock->ordered, &pDataBlock->duplicateTs);
|
code = tRowBuildFromBind(pBindInfos, boundInfo->numOfBound, colInOrder, *pTSchema, pCols, &pDataBlock->ordered, &pDataBlock->duplicateTs);
|
||||||
|
|
||||||
qDebug("stmt all %d columns bind %d rows data", boundInfo->numOfBound, rowNum);
|
parserDebug("stmt all %d columns bind %d rows data", boundInfo->numOfBound, rowNum);
|
||||||
|
|
||||||
_return:
|
_return:
|
||||||
|
|
||||||
|
@ -423,7 +423,7 @@ int32_t qBindStmtColsValue(void* pBlock, SArray* pCols, TAOS_MULTI_BIND* bind, c
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("stmt all %d columns bind %d rows data", boundInfo->numOfBound, rowNum);
|
parserDebug("stmt all %d columns bind %d rows data", boundInfo->numOfBound, rowNum);
|
||||||
|
|
||||||
_return:
|
_return:
|
||||||
|
|
||||||
|
@ -472,7 +472,7 @@ int32_t qBindStmtSingleColValue(void* pBlock, SArray* pCols, TAOS_MULTI_BIND* bi
|
||||||
IS_VAR_DATA_TYPE(pColSchema->type) ? pColSchema->bytes - VARSTR_HEADER_SIZE : -1,
|
IS_VAR_DATA_TYPE(pColSchema->type) ? pColSchema->bytes - VARSTR_HEADER_SIZE : -1,
|
||||||
initCtxAsText, checkWKB);
|
initCtxAsText, checkWKB);
|
||||||
|
|
||||||
qDebug("stmt col %d bind %d rows data", colIdx, rowNum);
|
parserDebug("stmt col %d bind %d rows data", colIdx, rowNum);
|
||||||
|
|
||||||
_return:
|
_return:
|
||||||
|
|
||||||
|
@ -750,7 +750,7 @@ int32_t qBindStmtStbColsValue2(void* pBlock, SArray* pCols, TAOS_STMT2_BIND* bin
|
||||||
|
|
||||||
code = tRowBuildFromBind2(pBindInfos, boundInfo->numOfBound, colInOrder, *pTSchema, pCols, &pDataBlock->ordered, &pDataBlock->duplicateTs);
|
code = tRowBuildFromBind2(pBindInfos, boundInfo->numOfBound, colInOrder, *pTSchema, pCols, &pDataBlock->ordered, &pDataBlock->duplicateTs);
|
||||||
|
|
||||||
qDebug("stmt all %d columns bind %d rows data", boundInfo->numOfBound, rowNum);
|
parserDebug("stmt all %d columns bind %d rows data", boundInfo->numOfBound, rowNum);
|
||||||
|
|
||||||
_return:
|
_return:
|
||||||
if (ncharBinds) {
|
if (ncharBinds) {
|
||||||
|
@ -867,7 +867,7 @@ int32_t qBindStmtColsValue2(void* pBlock, SArray* pCols, TAOS_STMT2_BIND* bind,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("stmt2 all %d columns bind %d rows data as col format", boundInfo->numOfBound, rowNum);
|
parserDebug("stmt2 all %d columns bind %d rows data as col format", boundInfo->numOfBound, rowNum);
|
||||||
|
|
||||||
_return:
|
_return:
|
||||||
|
|
||||||
|
@ -916,7 +916,7 @@ int32_t qBindStmtSingleColValue2(void* pBlock, SArray* pCols, TAOS_STMT2_BIND* b
|
||||||
IS_VAR_DATA_TYPE(pColSchema->type) ? pColSchema->bytes - VARSTR_HEADER_SIZE : -1,
|
IS_VAR_DATA_TYPE(pColSchema->type) ? pColSchema->bytes - VARSTR_HEADER_SIZE : -1,
|
||||||
initCtxAsText, checkWKB);
|
initCtxAsText, checkWKB);
|
||||||
|
|
||||||
qDebug("stmt col %d bind %d rows data", colIdx, rowNum);
|
parserDebug("stmt col %d bind %d rows data", colIdx, rowNum);
|
||||||
|
|
||||||
_return:
|
_return:
|
||||||
|
|
||||||
|
@ -1096,7 +1096,7 @@ int32_t qResetStmtColumns(SArray* pCols, bool deepClear) {
|
||||||
for (int32_t i = 0; i < colNum; ++i) {
|
for (int32_t i = 0; i < colNum; ++i) {
|
||||||
SColData* pCol = (SColData*)taosArrayGet(pCols, i);
|
SColData* pCol = (SColData*)taosArrayGet(pCols, i);
|
||||||
if (pCol == NULL) {
|
if (pCol == NULL) {
|
||||||
qError("qResetStmtColumns column is NULL");
|
parserError("qResetStmtColumns column is NULL");
|
||||||
return terrno;
|
return terrno;
|
||||||
}
|
}
|
||||||
if (deepClear) {
|
if (deepClear) {
|
||||||
|
@ -1116,7 +1116,7 @@ int32_t qResetStmtDataBlock(STableDataCxt* block, bool deepClear) {
|
||||||
for (int32_t i = 0; i < colNum; ++i) {
|
for (int32_t i = 0; i < colNum; ++i) {
|
||||||
SColData* pCol = (SColData*)taosArrayGet(pBlock->pData->aCol, i);
|
SColData* pCol = (SColData*)taosArrayGet(pBlock->pData->aCol, i);
|
||||||
if (pCol == NULL) {
|
if (pCol == NULL) {
|
||||||
qError("qResetStmtDataBlock column is NULL");
|
parserError("qResetStmtDataBlock column is NULL");
|
||||||
return terrno;
|
return terrno;
|
||||||
}
|
}
|
||||||
if (deepClear) {
|
if (deepClear) {
|
||||||
|
|
|
@ -298,7 +298,7 @@ static int32_t createTableDataCxt(STableMeta* pTableMeta, SVCreateTbReq** pCreat
|
||||||
}
|
}
|
||||||
if (TSDB_CODE_SUCCESS == code) {
|
if (TSDB_CODE_SUCCESS == code) {
|
||||||
*pOutput = pTableCxt;
|
*pOutput = pTableCxt;
|
||||||
qDebug("tableDataCxt created, code:%d, uid:%" PRId64 ", vgId:%d", code, pTableMeta->uid, pTableMeta->vgId);
|
parserDebug("uid:%" PRId64 ", create table data context, code:%d, vgId:%d", pTableMeta->uid, code, pTableMeta->vgId);
|
||||||
} else {
|
} else {
|
||||||
insDestroyTableDataCxt(pTableCxt);
|
insDestroyTableDataCxt(pTableCxt);
|
||||||
}
|
}
|
||||||
|
@ -478,7 +478,7 @@ static int32_t fillVgroupDataCxt(STableDataCxt* pTableCxt, SVgroupDataCxt* pVgCx
|
||||||
taosMemoryFreeClear(pTableCxt->pData);
|
taosMemoryFreeClear(pTableCxt->pData);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("add tableDataCxt uid:%" PRId64 " to vgId:%d", pTableCxt->pMeta->uid, pVgCxt->vgId);
|
parserDebug("uid:%" PRId64 ", add table data context to vgId:%d", pTableCxt->pMeta->uid, pVgCxt->vgId);
|
||||||
|
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
@ -572,7 +572,7 @@ int32_t insGetStmtTableVgUid(SHashObj* pAllVgHash, SStbInterlaceInfo* pBuildInfo
|
||||||
code = catalogGetTableMeta((SCatalog*)pBuildInfo->pCatalog, &conn, &sname, &pTableMeta);
|
code = catalogGetTableMeta((SCatalog*)pBuildInfo->pCatalog, &conn, &sname, &pTableMeta);
|
||||||
|
|
||||||
if (TSDB_CODE_PAR_TABLE_NOT_EXIST == code) {
|
if (TSDB_CODE_PAR_TABLE_NOT_EXIST == code) {
|
||||||
parserDebug("tb %s.%s not exist", sname.dbname, sname.tname);
|
parserDebug("tb:%s.%s not exist", sname.dbname, sname.tname);
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -760,7 +760,7 @@ int32_t insMergeTableDataCxt(SHashObj* pTableHash, SArray** pVgDataBlocks, bool
|
||||||
// skip the table has no data to insert
|
// skip the table has no data to insert
|
||||||
// eg: import a csv without valid data
|
// eg: import a csv without valid data
|
||||||
// if (0 == taosArrayGetSize(pTableCxt->pData->aRowP)) {
|
// if (0 == taosArrayGetSize(pTableCxt->pData->aRowP)) {
|
||||||
// qWarn("no row in tableDataCxt uid:%" PRId64 " ", pTableCxt->pMeta->uid);
|
// parserWarn("no row in tableDataCxt uid:%" PRId64 " ", pTableCxt->pMeta->uid);
|
||||||
// p = taosHashIterate(pTableHash, p);
|
// p = taosHashIterate(pTableHash, p);
|
||||||
// continue;
|
// continue;
|
||||||
// }
|
// }
|
||||||
|
|
|
@ -533,7 +533,7 @@ static int32_t getViewMetaImpl(SParseContext* pParCxt, SParseMetaCache* pMetaCac
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TSDB_CODE_SUCCESS != code && TSDB_CODE_PAR_TABLE_NOT_EXIST != code) {
|
if (TSDB_CODE_SUCCESS != code && TSDB_CODE_PAR_TABLE_NOT_EXIST != code) {
|
||||||
parserError("0x%" PRIx64 " catalogGetViewMeta error, code:%s, dbName:%s, viewName:%s", pParCxt->requestId,
|
parserError("QID:0x%" PRIx64 ", catalogGetViewMeta error, code:%s, dbName:%s, viewName:%s", pParCxt->requestId,
|
||||||
tstrerror(code), pName->dbname, pName->tname);
|
tstrerror(code), pName->dbname, pName->tname);
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
|
@ -549,7 +549,7 @@ static int32_t getTargetNameImpl(SParseContext* pParCxt, SParseMetaCache* pMetaC
|
||||||
code = TSDB_CODE_PAR_INTERNAL_ERROR;
|
code = TSDB_CODE_PAR_INTERNAL_ERROR;
|
||||||
}
|
}
|
||||||
if (TSDB_CODE_SUCCESS != code && TSDB_CODE_PAR_TABLE_NOT_EXIST != code) {
|
if (TSDB_CODE_SUCCESS != code && TSDB_CODE_PAR_TABLE_NOT_EXIST != code) {
|
||||||
parserError("0x%" PRIx64 " catalogGetTableMeta error, code:%s, dbName:%s, tbName:%s", pParCxt->requestId,
|
parserError("QID:0x%" PRIx64 ", catalogGetTableMeta error, code:%s, dbName:%s, tbName:%s", pParCxt->requestId,
|
||||||
tstrerror(code), pName->dbname, pName->tname);
|
tstrerror(code), pName->dbname, pName->tname);
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
|
@ -565,7 +565,7 @@ static int32_t getTargetName(STranslateContext* pCxt, const SName* pName, char*
|
||||||
code = getTargetNameImpl(pParCxt, pCxt->pMetaCache, pName, pTbName);
|
code = getTargetNameImpl(pParCxt, pCxt->pMetaCache, pName, pTbName);
|
||||||
}
|
}
|
||||||
if (TSDB_CODE_SUCCESS != code && TSDB_CODE_PAR_TABLE_NOT_EXIST != code) {
|
if (TSDB_CODE_SUCCESS != code && TSDB_CODE_PAR_TABLE_NOT_EXIST != code) {
|
||||||
parserError("0x%" PRIx64 " catalogGetTableMeta error, code:%s, dbName:%s, tbName:%s", pCxt->pParseCxt->requestId,
|
parserError("QID:0x%" PRIx64 ", catalogGetTableMeta error, code:%s, dbName:%s, tbName:%s", pCxt->pParseCxt->requestId,
|
||||||
tstrerror(code), pName->dbname, pName->tname);
|
tstrerror(code), pName->dbname, pName->tname);
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
|
@ -657,7 +657,7 @@ int32_t getTargetMetaImpl(SParseContext* pParCxt, SParseMetaCache* pMetaCache, c
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TSDB_CODE_SUCCESS != code && TSDB_CODE_PAR_TABLE_NOT_EXIST != code) {
|
if (TSDB_CODE_SUCCESS != code && TSDB_CODE_PAR_TABLE_NOT_EXIST != code) {
|
||||||
parserError("0x%" PRIx64 " catalogGetTableMeta error, code:%s, dbName:%s, tbName:%s", pParCxt->requestId,
|
parserError("QID:0x%" PRIx64 ", catalogGetTableMeta error, code:%s, dbName:%s, tbName:%s", pParCxt->requestId,
|
||||||
tstrerror(code), pName->dbname, pName->tname);
|
tstrerror(code), pName->dbname, pName->tname);
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
|
@ -673,7 +673,7 @@ static int32_t getTargetMeta(STranslateContext* pCxt, const SName* pName, STable
|
||||||
code = getTargetMetaImpl(pParCxt, pCxt->pMetaCache, pName, pMeta, couldBeView);
|
code = getTargetMetaImpl(pParCxt, pCxt->pMetaCache, pName, pMeta, couldBeView);
|
||||||
}
|
}
|
||||||
if (TSDB_CODE_SUCCESS != code && TSDB_CODE_PAR_TABLE_NOT_EXIST != code) {
|
if (TSDB_CODE_SUCCESS != code && TSDB_CODE_PAR_TABLE_NOT_EXIST != code) {
|
||||||
parserError("0x%" PRIx64 " catalogGetTableMeta error, code:%s, dbName:%s, tbName:%s", pCxt->pParseCxt->requestId,
|
parserError("QID:0x%" PRIx64 ", catalogGetTableMeta error, code:%s, dbName:%s, tbName:%s", pCxt->pParseCxt->requestId,
|
||||||
tstrerror(code), pName->dbname, pName->tname);
|
tstrerror(code), pName->dbname, pName->tname);
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
|
@ -703,7 +703,7 @@ static int32_t getTableCfg(STranslateContext* pCxt, const SName* pName, STableCf
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
parserError("0x%" PRIx64 " catalogRefreshGetTableCfg error, code:%s, dbName:%s, tbName:%s",
|
parserError("QID:0x%" PRIx64 ", catalogRefreshGetTableCfg error, code:%s, dbName:%s, tbName:%s",
|
||||||
pCxt->pParseCxt->requestId, tstrerror(code), pName->dbname, pName->tname);
|
pCxt->pParseCxt->requestId, tstrerror(code), pName->dbname, pName->tname);
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
|
@ -726,7 +726,7 @@ static int32_t refreshGetTableMeta(STranslateContext* pCxt, const char* pDbName,
|
||||||
code = catalogRefreshGetTableMeta(pParCxt->pCatalog, &conn, &name, pMeta, false);
|
code = catalogRefreshGetTableMeta(pParCxt->pCatalog, &conn, &name, pMeta, false);
|
||||||
}
|
}
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
parserError("0x%" PRIx64 " catalogRefreshGetTableMeta error, code:%s, dbName:%s, tbName:%s",
|
parserError("QID:0x%" PRIx64 ", catalogRefreshGetTableMeta error, code:%s, dbName:%s, tbName:%s",
|
||||||
pCxt->pParseCxt->requestId, tstrerror(code), pDbName, pTableName);
|
pCxt->pParseCxt->requestId, tstrerror(code), pDbName, pTableName);
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
|
@ -749,7 +749,7 @@ static int32_t getDBVgInfoImpl(STranslateContext* pCxt, const SName* pName, SArr
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
parserError("0x%" PRIx64 " catalogGetDBVgList error, code:%s, dbFName:%s", pCxt->pParseCxt->requestId,
|
parserError("QID:0x%" PRIx64 ", catalogGetDBVgList error, code:%s, dbFName:%s", pCxt->pParseCxt->requestId,
|
||||||
tstrerror(code), fullDbName);
|
tstrerror(code), fullDbName);
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
|
@ -786,7 +786,7 @@ static int32_t getTableHashVgroupImpl(STranslateContext* pCxt, const SName* pNam
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
parserError("0x%" PRIx64 " catalogGetTableHashVgroup error, code:%s, dbName:%s, tbName:%s",
|
parserError("QID:0x%" PRIx64 ", catalogGetTableHashVgroup error, code:%s, dbName:%s, tbName:%s",
|
||||||
pCxt->pParseCxt->requestId, tstrerror(code), pName->dbname, pName->tname);
|
pCxt->pParseCxt->requestId, tstrerror(code), pName->dbname, pName->tname);
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
|
@ -811,7 +811,7 @@ static int32_t getDBVgVersion(STranslateContext* pCxt, const char* pDbFName, int
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
parserError("0x%" PRIx64 " catalogGetDBVgVersion error, code:%s, dbFName:%s", pCxt->pParseCxt->requestId,
|
parserError("QID:0x%" PRIx64 ", catalogGetDBVgVersion error, code:%s, dbFName:%s", pCxt->pParseCxt->requestId,
|
||||||
tstrerror(code), pDbFName);
|
tstrerror(code), pDbFName);
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
|
@ -842,7 +842,7 @@ static int32_t getDBCfg(STranslateContext* pCxt, const char* pDbName, SDbCfgInfo
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
parserError("0x%" PRIx64 " catalogGetDBCfg error, code:%s, dbFName:%s", pCxt->pParseCxt->requestId, tstrerror(code),
|
parserError("QID:0x%" PRIx64 ", catalogGetDBCfg error, code:%s, dbFName:%s", pCxt->pParseCxt->requestId, tstrerror(code),
|
||||||
dbFname);
|
dbFname);
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
|
@ -871,7 +871,7 @@ static int32_t getUdfInfo(STranslateContext* pCxt, SFunctionNode* pFunc) {
|
||||||
tFreeSFuncInfo(&funcInfo);
|
tFreeSFuncInfo(&funcInfo);
|
||||||
}
|
}
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
parserError("0x%" PRIx64 " catalogGetUdfInfo error, code:%s, funcName:%s", pCxt->pParseCxt->requestId,
|
parserError("QID:0x%" PRIx64 ", catalogGetUdfInfo error, code:%s, funcName:%s", pCxt->pParseCxt->requestId,
|
||||||
tstrerror(code), pFunc->functionName);
|
tstrerror(code), pFunc->functionName);
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
|
@ -896,7 +896,7 @@ static int32_t getTableIndex(STranslateContext* pCxt, const SName* pName, SArray
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
parserError("0x%" PRIx64 " getTableIndex error, code:%s, dbName:%s, tbName:%s", pCxt->pParseCxt->requestId,
|
parserError("QID:0x%" PRIx64 ", getTableIndex error, code:%s, dbName:%s, tbName:%s", pCxt->pParseCxt->requestId,
|
||||||
tstrerror(code), pName->dbname, pName->tname);
|
tstrerror(code), pName->dbname, pName->tname);
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
|
@ -915,7 +915,7 @@ static int32_t getDnodeList(STranslateContext* pCxt, SArray** pDnodes) {
|
||||||
code = catalogGetDnodeList(pParCxt->pCatalog, &conn, pDnodes);
|
code = catalogGetDnodeList(pParCxt->pCatalog, &conn, pDnodes);
|
||||||
}
|
}
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
parserError("0x%" PRIx64 " getDnodeList error, code:%s", pCxt->pParseCxt->requestId, tstrerror(code));
|
parserError("QID:0x%" PRIx64 ", getDnodeList error, code:%s", pCxt->pParseCxt->requestId, tstrerror(code));
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
@ -933,7 +933,7 @@ static int32_t getTableTsmas(STranslateContext* pCxt, const SName* pName, SArray
|
||||||
code = catalogGetTableTsmas(pParCxt->pCatalog, &conn, pName, ppTsmas);
|
code = catalogGetTableTsmas(pParCxt->pCatalog, &conn, pName, ppTsmas);
|
||||||
}
|
}
|
||||||
if (code)
|
if (code)
|
||||||
parserError("0x%" PRIx64 " get table tsma for : %s.%s error, code:%s", pCxt->pParseCxt->requestId, pName->dbname,
|
parserError("QID:0x%" PRIx64 ", get table tsma for : %s.%s error, code:%s", pCxt->pParseCxt->requestId, pName->dbname,
|
||||||
pName->tname, tstrerror(code));
|
pName->tname, tstrerror(code));
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
@ -951,7 +951,7 @@ static int32_t getTsma(STranslateContext* pCxt, const SName* pName, STableTSMAIn
|
||||||
code = catalogGetTsma(pParCxt->pCatalog, &conn, pName, pTsma);
|
code = catalogGetTsma(pParCxt->pCatalog, &conn, pName, pTsma);
|
||||||
}
|
}
|
||||||
if (code)
|
if (code)
|
||||||
parserError("0x%" PRIx64 " get tsma for: %s.%s error, code:%s", pCxt->pParseCxt->requestId, pName->dbname,
|
parserError("QID:0x%" PRIx64 ", get tsma for: %s.%s error, code:%s", pCxt->pParseCxt->requestId, pName->dbname,
|
||||||
pName->tname, tstrerror(code));
|
pName->tname, tstrerror(code));
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
@ -7015,7 +7015,7 @@ static int32_t setEqualTbnameTableVgroups(STranslateContext* pCxt, SSelectStmt*
|
||||||
bool stableQuery = false;
|
bool stableQuery = false;
|
||||||
SEqCondTbNameTableInfo* pInfo = NULL;
|
SEqCondTbNameTableInfo* pInfo = NULL;
|
||||||
|
|
||||||
qDebug("start to update stable vg for tbname optimize, aTableNum:%d", aTableNum);
|
parserDebug("start to update stable vg for tbname optimize, aTableNum:%d", aTableNum);
|
||||||
for (int i = 0; i < aTableNum; ++i) {
|
for (int i = 0; i < aTableNum; ++i) {
|
||||||
pInfo = taosArrayGet(aTables, i);
|
pInfo = taosArrayGet(aTables, i);
|
||||||
int32_t numOfVgs = pInfo->pRealTable->pVgroupList->numOfVgroups;
|
int32_t numOfVgs = pInfo->pRealTable->pVgroupList->numOfVgroups;
|
||||||
|
@ -7084,7 +7084,7 @@ static int32_t setEqualTbnameTableVgroups(STranslateContext* pCxt, SSelectStmt*
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("before ctbname optimize, code:%d, aTableNum:%d, nTbls:%d, stableQuery:%d", code, aTableNum, nTbls,
|
parserDebug("before ctbname optimize, code:%d, aTableNum:%d, nTbls:%d, stableQuery:%d", code, aTableNum, nTbls,
|
||||||
stableQuery);
|
stableQuery);
|
||||||
|
|
||||||
if (TSDB_CODE_SUCCESS == code && 1 == aTableNum && 1 == nTbls && stableQuery && NULL == pInfo->pRealTable->pTsmas) {
|
if (TSDB_CODE_SUCCESS == code && 1 == aTableNum && 1 == nTbls && stableQuery && NULL == pInfo->pRealTable->pTsmas) {
|
||||||
|
@ -13001,7 +13001,7 @@ static int32_t readFromFile(char* pName, int32_t* len, char** buf) {
|
||||||
int64_t s = taosReadFile(tfile, *buf, *len);
|
int64_t s = taosReadFile(tfile, *buf, *len);
|
||||||
if (s != *len) {
|
if (s != *len) {
|
||||||
int32_t code = taosCloseFile(&tfile);
|
int32_t code = taosCloseFile(&tfile);
|
||||||
qError("failed to close file: %s in %s:%d, err: %s", pName, __func__, __LINE__, tstrerror(code));
|
parserError("failed to close file: %s in %s:%d, err: %s", pName, __func__, __LINE__, tstrerror(code));
|
||||||
taosMemoryFreeClear(*buf);
|
taosMemoryFreeClear(*buf);
|
||||||
return TSDB_CODE_APP_ERROR;
|
return TSDB_CODE_APP_ERROR;
|
||||||
}
|
}
|
||||||
|
@ -15504,7 +15504,7 @@ static int32_t fillVgroupInfo(SParseContext* pParseCxt, const SName* pName, SVgr
|
||||||
if (code == TSDB_CODE_SUCCESS) {
|
if (code == TSDB_CODE_SUCCESS) {
|
||||||
*pVgInfo = vg;
|
*pVgInfo = vg;
|
||||||
} else {
|
} else {
|
||||||
parserError("0x%" PRIx64 " catalogGetTableHashVgroup error, code:%s, dbName:%s, tbName:%s", pParseCxt->requestId,
|
parserError("QID:0x%" PRIx64 ", catalogGetTableHashVgroup error, code:%s, dbName:%s, tbName:%s", pParseCxt->requestId,
|
||||||
tstrerror(code), pName->dbname, pName->tname);
|
tstrerror(code), pName->dbname, pName->tname);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15835,7 +15835,7 @@ int32_t serializeVgroupsCreateTableBatch(SHashObj* pVgroupHashmap, SArray** pOut
|
||||||
|
|
||||||
code = serializeVgroupCreateTableBatch(pTbBatch, pBufArray);
|
code = serializeVgroupCreateTableBatch(pTbBatch, pBufArray);
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
qError("failed to serialize create table batch msg, since:%s", tstrerror(code));
|
parserError("failed to serialize create table batch msg, since:%s", tstrerror(code));
|
||||||
taosHashCancelIterate(pVgroupHashmap, pTbBatch);
|
taosHashCancelIterate(pVgroupHashmap, pTbBatch);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -15914,7 +15914,7 @@ static int32_t rewriteCreateTableFromFile(STranslateContext* pCxt, SQuery* pQuer
|
||||||
taosHashClear(pModifyStmt->pVgroupsHashObj);
|
taosHashClear(pModifyStmt->pVgroupsHashObj);
|
||||||
if (TSDB_CODE_SUCCESS != code) {
|
if (TSDB_CODE_SUCCESS != code) {
|
||||||
if (TSDB_CODE_INVALID_MSG_LEN == code) {
|
if (TSDB_CODE_INVALID_MSG_LEN == code) {
|
||||||
qError("maxInsertBatchRows may need to be reduced, current:%d", tsMaxInsertBatchRows);
|
parserError("maxInsertBatchRows may need to be reduced, current:%d", tsMaxInsertBatchRows);
|
||||||
}
|
}
|
||||||
taosHashCleanup(pModifyStmt->pVgroupsHashObj);
|
taosHashCleanup(pModifyStmt->pVgroupsHashObj);
|
||||||
return code;
|
return code;
|
||||||
|
|
|
@ -37,7 +37,7 @@ static int32_t dumpQueryPlan(SQueryPlan* pPlan) {
|
||||||
char* pStr = NULL;
|
char* pStr = NULL;
|
||||||
code = nodesNodeToString((SNode*)pPlan, false, &pStr, NULL);
|
code = nodesNodeToString((SNode*)pPlan, false, &pStr, NULL);
|
||||||
if (TSDB_CODE_SUCCESS == code) {
|
if (TSDB_CODE_SUCCESS == code) {
|
||||||
planDebugL("QID:0x%" PRIx64 " Query Plan, JsonPlan: %s", pPlan->queryId, pStr);
|
planDebugL("QID:0x%" PRIx64 ", Query Plan, JsonPlan: %s", pPlan->queryId, pStr);
|
||||||
taosMemoryFree(pStr);
|
taosMemoryFree(pStr);
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
|
@ -123,7 +123,7 @@ int32_t qContinuePlanPostQuery(void* pPostPlan) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t qSetSubplanExecutionNode(SSubplan* subplan, int32_t groupId, SDownstreamSourceNode* pSource) {
|
int32_t qSetSubplanExecutionNode(SSubplan* subplan, int32_t groupId, SDownstreamSourceNode* pSource) {
|
||||||
planDebug("QID:0x%" PRIx64 " set subplan execution node, groupId:%d", subplan->id.queryId, groupId);
|
planDebug("QID:0x%" PRIx64 ", set subplan execution node, groupId:%d", subplan->id.queryId, groupId);
|
||||||
return setSubplanExecutionNode(subplan->pNode, groupId, pSource);
|
return setSubplanExecutionNode(subplan->pNode, groupId, pSource);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -143,7 +143,7 @@ static void clearSubplanExecutionNode(SPhysiNode* pNode) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void qClearSubplanExecutionNode(SSubplan* pSubplan) {
|
void qClearSubplanExecutionNode(SSubplan* pSubplan) {
|
||||||
planDebug("QID:0x%" PRIx64 " clear subplan execution node, groupId:%d", pSubplan->id.queryId, pSubplan->id.groupId);
|
planDebug("QID:0x%" PRIx64 ", clear subplan execution node, groupId:%d", pSubplan->id.queryId, pSubplan->id.groupId);
|
||||||
clearSubplanExecutionNode(pSubplan->pNode);
|
clearSubplanExecutionNode(pSubplan->pNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -343,7 +343,7 @@ void destroyQueryExecRes(SExecResult* pRes) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
qError("invalid exec result for request type %d", pRes->msgType);
|
qError("invalid exec result for request type:%d", pRes->msgType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
|
@ -45,7 +45,7 @@ int32_t queryBuildUseDbOutput(SUseDbOutput *pOut, SUseDbRsp *usedbRsp) {
|
||||||
pOut->dbVgroup->hashSuffix = usedbRsp->hashSuffix;
|
pOut->dbVgroup->hashSuffix = usedbRsp->hashSuffix;
|
||||||
pOut->dbVgroup->stateTs = usedbRsp->stateTs;
|
pOut->dbVgroup->stateTs = usedbRsp->stateTs;
|
||||||
|
|
||||||
qDebug("Got %d vgroup for db %s, vgVersion:%d, stateTs:%" PRId64, usedbRsp->vgNum, usedbRsp->db, usedbRsp->vgVersion,
|
qDebug("get %d vgroup for db %s, vgVersion:%d, stateTs:%" PRId64, usedbRsp->vgNum, usedbRsp->db, usedbRsp->vgVersion,
|
||||||
usedbRsp->stateTs);
|
usedbRsp->stateTs);
|
||||||
|
|
||||||
if (usedbRsp->vgNum <= 0) {
|
if (usedbRsp->vgNum <= 0) {
|
||||||
|
|
|
@ -414,29 +414,29 @@ extern SQueryMgmt gQueryMgmt;
|
||||||
#define QW_SCH_DLOG(param, ...) qDebug("QW:%p clientId:%" PRIx64 " " param, mgmt, clientId, __VA_ARGS__)
|
#define QW_SCH_DLOG(param, ...) qDebug("QW:%p clientId:%" PRIx64 " " param, mgmt, clientId, __VA_ARGS__)
|
||||||
|
|
||||||
#define QW_TASK_ELOG(param, ...) \
|
#define QW_TASK_ELOG(param, ...) \
|
||||||
qError("QID:0x%" PRIx64 ",SID:%" PRId64 ",CID:0x%" PRIx64 ",TID:0x%" PRIx64 ",EID:%d " param, qId, sId, cId, tId, eId, __VA_ARGS__)
|
qError("QID:0x%" PRIx64 ", SID:%" PRId64 ", CID:0x%" PRIx64 ", TID:0x%" PRIx64 ", EID:%d " param, qId, sId, cId, tId, eId, __VA_ARGS__)
|
||||||
#define QW_TASK_WLOG(param, ...) \
|
#define QW_TASK_WLOG(param, ...) \
|
||||||
qWarn("QID:0x%" PRIx64 ",SID:%" PRId64 ",CID:0x%" PRIx64 ",TID:0x%" PRIx64 ",EID:%d " param, qId, sId, cId, tId, eId, __VA_ARGS__)
|
qWarn("QID:0x%" PRIx64 ", SID:%" PRId64 ", CID:0x%" PRIx64 ", TID:0x%" PRIx64 ", EID:%d " param, qId, sId, cId, tId, eId, __VA_ARGS__)
|
||||||
#define QW_TASK_DLOG(param, ...) \
|
#define QW_TASK_DLOG(param, ...) \
|
||||||
qDebug("QID:0x%" PRIx64 ",SID:%" PRId64 ",CID:0x%" PRIx64 ",TID:0x%" PRIx64 ",EID:%d " param, qId, sId, cId, tId, eId, __VA_ARGS__)
|
qDebug("QID:0x%" PRIx64 ", SID:%" PRId64 ", CID:0x%" PRIx64 ", TID:0x%" PRIx64 ", EID:%d " param, qId, sId, cId, tId, eId, __VA_ARGS__)
|
||||||
#define QW_TASK_DLOGL(param, ...) \
|
#define QW_TASK_DLOGL(param, ...) \
|
||||||
qDebugL("QID:0x%" PRIx64 ",SID:%" PRId64 ",CID:0x%" PRIx64 ",TID:0x%" PRIx64 ",EID:%d " param, qId, sId, cId, tId, eId, __VA_ARGS__)
|
qDebugL("QID:0x%" PRIx64 ", SID:%" PRId64 ", CID:0x%" PRIx64 ", TID:0x%" PRIx64 ", EID:%d " param, qId, sId, cId, tId, eId, __VA_ARGS__)
|
||||||
|
|
||||||
#define QW_TASK_ELOG_E(param) \
|
#define QW_TASK_ELOG_E(param) \
|
||||||
qError("QID:0x%" PRIx64 ",SID:%" PRId64 ",CID:0x%" PRIx64 ",TID:0x%" PRIx64 ",EID:%d " param, qId, sId, cId, tId, eId)
|
qError("QID:0x%" PRIx64 ", SID:%" PRId64 ", CID:0x%" PRIx64 ", TID:0x%" PRIx64 ", EID:%d " param, qId, sId, cId, tId, eId)
|
||||||
#define QW_TASK_WLOG_E(param) \
|
#define QW_TASK_WLOG_E(param) \
|
||||||
qWarn("QID:0x%" PRIx64 ",SID:%" PRId64 ",CID:0x%" PRIx64 ",TID:0x%" PRIx64 ",EID:%d " param, qId, sId, cId, tId, eId)
|
qWarn("QID:0x%" PRIx64 ", SID:%" PRId64 ", CID:0x%" PRIx64 ", TID:0x%" PRIx64 ", EID:%d " param, qId, sId, cId, tId, eId)
|
||||||
#define QW_TASK_DLOG_E(param) \
|
#define QW_TASK_DLOG_E(param) \
|
||||||
qDebug("QID:0x%" PRIx64 ",SID:%" PRId64 ",CID:0x%" PRIx64 ",TID:0x%" PRIx64 ",EID:%d " param, qId, sId, cId, tId, eId)
|
qDebug("QID:0x%" PRIx64 ", SID:%" PRId64 ", CID:0x%" PRIx64 ", TID:0x%" PRIx64 ", EID:%d " param, qId, sId, cId, tId, eId)
|
||||||
|
|
||||||
#define QW_SCH_TASK_ELOG(param, ...) \
|
#define QW_SCH_TASK_ELOG(param, ...) \
|
||||||
qError("QW:%p SID:%" PRId64 ",QID:0x%" PRIx64 ",CID:0x%" PRIx64 ",TID:0x%" PRIx64 ",EID:%d " param, mgmt, sId, \
|
qError("QW:%p, SID:%" PRId64 ", QID:0x%" PRIx64 ", CID:0x%" PRIx64 ", TID:0x%" PRIx64 ", EID:%d " param, mgmt, sId, \
|
||||||
qId, cId, tId, eId, __VA_ARGS__)
|
qId, cId, tId, eId, __VA_ARGS__)
|
||||||
#define QW_SCH_TASK_WLOG(param, ...) \
|
#define QW_SCH_TASK_WLOG(param, ...) \
|
||||||
qWarn("QW:%p SID:%" PRId64 ",QID:0x%" PRIx64 ",CID:0x%" PRIx64 ",TID:0x%" PRIx64 ",EID:%d " param, mgmt, sId, qId, \
|
qWarn("QW:%p, SID:%" PRId64 ", QID:0x%" PRIx64 ", CID:0x%" PRIx64 ", TID:0x%" PRIx64 ", EID:%d " param, mgmt, sId, qId, \
|
||||||
cId, tId, eId, __VA_ARGS__)
|
cId, tId, eId, __VA_ARGS__)
|
||||||
#define QW_SCH_TASK_DLOG(param, ...) \
|
#define QW_SCH_TASK_DLOG(param, ...) \
|
||||||
qDebug("QW:%p SID:%" PRId64 ",QID:0x%" PRIx64 ",CID:0x%" PRIx64 ",TID:0x%" PRIx64 ",EID:%d " param, mgmt, sId, \
|
qDebug("QW:%p, SID:%" PRId64 ", QID:0x%" PRIx64 ", CID:0x%" PRIx64 ", TID:0x%" PRIx64 ", EID:%d " param, mgmt, sId, \
|
||||||
qId, cId, tId, eId, __VA_ARGS__)
|
qId, cId, tId, eId, __VA_ARGS__)
|
||||||
|
|
||||||
#define QW_LOCK_DEBUG(...) \
|
#define QW_LOCK_DEBUG(...) \
|
||||||
|
|
|
@ -187,12 +187,12 @@ void qwDbgDumpJobsInfo(void) {
|
||||||
int32_t jobIdx = 0;
|
int32_t jobIdx = 0;
|
||||||
SQWJobInfo* pJob = (SQWJobInfo*)taosHashIterate(gQueryMgmt.pJobInfo, NULL);
|
SQWJobInfo* pJob = (SQWJobInfo*)taosHashIterate(gQueryMgmt.pJobInfo, NULL);
|
||||||
while (NULL != pJob) {
|
while (NULL != pJob) {
|
||||||
qDebug("QID:0x%" PRIx64 " CID:0x%" PRIx64 " the %dth remain job", pJob->memInfo->jobId, pJob->memInfo->clientId, jobIdx++);
|
qDebug("QID:0x%" PRIx64 ", CID:0x%" PRIx64 " the %dth remain job", pJob->memInfo->jobId, pJob->memInfo->clientId, jobIdx++);
|
||||||
|
|
||||||
int32_t sessionIdx = 0;
|
int32_t sessionIdx = 0;
|
||||||
SQWSessionInfo* pSession = (SQWSessionInfo*)taosHashIterate(pJob->pSessions, NULL);
|
SQWSessionInfo* pSession = (SQWSessionInfo*)taosHashIterate(pJob->pSessions, NULL);
|
||||||
while (NULL != pSession) {
|
while (NULL != pSession) {
|
||||||
qDebug("QID:0x%" PRIx64 ",SID:%" PRId64 ",CID:0x%" PRIx64 ",TID:0x%" PRIx64 ",EID:%d the %dth remain session",
|
qDebug("QID:0x%" PRIx64 ", SID:%" PRId64 ", CID:0x%" PRIx64 ", TID:0x%" PRIx64 ", EID:%d the %dth remain session",
|
||||||
pSession->qId, pSession->sId, pSession->cId, pSession->tId, pSession->eId, sessionIdx++);
|
pSession->qId, pSession->sId, pSession->cId, pSession->tId, pSession->eId, sessionIdx++);
|
||||||
|
|
||||||
pSession = (SQWSessionInfo*)taosHashIterate(pJob->pSessions, pSession);
|
pSession = (SQWSessionInfo*)taosHashIterate(pJob->pSessions, pSession);
|
||||||
|
@ -237,7 +237,7 @@ int32_t qwDbgBuildAndSendRedirectRsp(int32_t rspType, SRpcHandleInfo *pConn, int
|
||||||
|
|
||||||
tmsgSendRsp(&rpcRsp);
|
tmsgSendRsp(&rpcRsp);
|
||||||
|
|
||||||
qDebug("response %s msg, code: %s", TMSG_INFO(rspType), tstrerror(code));
|
qDebug("response %s msg, code:%s", TMSG_INFO(rspType), tstrerror(code));
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
|
@ -339,8 +339,8 @@ int32_t qwGetQueryResFromSink(QW_FPARAMS_DEF, SQWTaskCtx *ctx, int32_t *dataLen,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Got data from sink
|
// get data from sink
|
||||||
QW_TASK_DLOG("there are data in sink, dataLength:%" PRId64 "", len);
|
QW_TASK_DLOG("there are data in sink, dataLength:%" PRId64, len);
|
||||||
|
|
||||||
*dataLen += len + PAYLOAD_PREFIX_LEN;
|
*dataLen += len + PAYLOAD_PREFIX_LEN;
|
||||||
*pRawDataLen += rawLen + PAYLOAD_PREFIX_LEN;
|
*pRawDataLen += rawLen + PAYLOAD_PREFIX_LEN;
|
||||||
|
@ -1699,18 +1699,18 @@ void qWorkerRetireJob(uint64_t jobId, uint64_t clientId, int32_t errCode) {
|
||||||
|
|
||||||
SQWJobInfo *pJob = (SQWJobInfo *)taosHashGet(gQueryMgmt.pJobInfo, id, sizeof(id));
|
SQWJobInfo *pJob = (SQWJobInfo *)taosHashGet(gQueryMgmt.pJobInfo, id, sizeof(id));
|
||||||
if (NULL == pJob) {
|
if (NULL == pJob) {
|
||||||
qError("QID:0x%" PRIx64 " CID:0x%" PRIx64 " fail to get job from job hash", jobId, clientId);
|
qError("QID:0x%" PRIx64 ", CID:0x%" PRIx64 " fail to get job from job hash", jobId, clientId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (0 == atomic_val_compare_exchange_32(&pJob->errCode, 0, errCode) &&
|
if (0 == atomic_val_compare_exchange_32(&pJob->errCode, 0, errCode) &&
|
||||||
0 == atomic_val_compare_exchange_8(&pJob->retired, 0, 1)) {
|
0 == atomic_val_compare_exchange_8(&pJob->retired, 0, 1)) {
|
||||||
qDebug("QID:0x%" PRIx64 " CID:0x%" PRIx64 " mark retired, errCode: 0x%x, allocSize:%" PRId64, jobId, clientId,
|
qDebug("QID:0x%" PRIx64 ", CID:0x%" PRIx64 " mark retired, errCode: 0x%x, allocSize:%" PRId64, jobId, clientId,
|
||||||
errCode, atomic_load_64(&pJob->memInfo->allocMemSize));
|
errCode, atomic_load_64(&pJob->memInfo->allocMemSize));
|
||||||
|
|
||||||
(void)qwRetireJob(pJob);
|
(void)qwRetireJob(pJob);
|
||||||
} else {
|
} else {
|
||||||
qDebug("QID:0x%" PRIx64 " already retired, retired: %d, errCode: 0x%x, allocSize:%" PRId64, jobId,
|
qDebug("QID:0x%" PRIx64 ", already retired, retired: %d, errCode: 0x%x, allocSize:%" PRId64, jobId,
|
||||||
atomic_load_8(&pJob->retired), atomic_load_32(&pJob->errCode), atomic_load_64(&pJob->memInfo->allocMemSize));
|
atomic_load_8(&pJob->retired), atomic_load_32(&pJob->errCode), atomic_load_64(&pJob->memInfo->allocMemSize));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1741,10 +1741,10 @@ void qWorkerRetireJobs(int64_t retireSize, int32_t errCode) {
|
||||||
|
|
||||||
jobNum++;
|
jobNum++;
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " CID:0x%" PRIx64 " job mark retired in batch, retired:%d, usedSize:%" PRId64 ", retireSize:%" PRId64,
|
qDebug("QID:0x%" PRIx64 ", CID:0x%" PRIx64 " job mark retired in batch, retired:%d, usedSize:%" PRId64 ", retireSize:%" PRId64,
|
||||||
pJob->memInfo->jobId, pJob->memInfo->clientId, retired, aSize, retireSize);
|
pJob->memInfo->jobId, pJob->memInfo->clientId, retired, aSize, retireSize);
|
||||||
} else {
|
} else {
|
||||||
qDebug("QID:0x%" PRIx64 " CID:0x%" PRIx64 " job may already failed, errCode:%s", pJob->memInfo->jobId, pJob->memInfo->clientId, tstrerror(pJob->errCode));
|
qDebug("QID:0x%" PRIx64 ", CID:0x%" PRIx64 " job may already failed, errCode:%s", pJob->memInfo->jobId, pJob->memInfo->clientId, tstrerror(pJob->errCode));
|
||||||
}
|
}
|
||||||
|
|
||||||
pJob = (SQWJobInfo *)taosHashIterate(gQueryMgmt.pJobInfo, pJob);
|
pJob = (SQWJobInfo *)taosHashIterate(gQueryMgmt.pJobInfo, pJob);
|
||||||
|
|
|
@ -462,23 +462,23 @@ extern SSchedulerMgmt schMgmt;
|
||||||
(_task)->profile.endTs = us; \
|
(_task)->profile.endTs = us; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define SCH_JOB_ELOG(param, ...) qError("QID:0x%" PRIx64 ",SID:%" PRId64 " " param, pJob->queryId, pJob->seriousId, __VA_ARGS__)
|
#define SCH_JOB_ELOG(param, ...) qError("QID:0x%" PRIx64 ", SID:%" PRId64 ", " param, pJob->queryId, pJob->seriousId, __VA_ARGS__)
|
||||||
#define SCH_JOB_DLOG(param, ...) qDebug("QID:0x%" PRIx64 ",SID:%" PRId64 " " param, pJob->queryId, pJob->seriousId, __VA_ARGS__)
|
#define SCH_JOB_DLOG(param, ...) qDebug("QID:0x%" PRIx64 ", SID:%" PRId64 ", " param, pJob->queryId, pJob->seriousId, __VA_ARGS__)
|
||||||
|
|
||||||
#define SCH_TASK_ELOG(param, ...) \
|
#define SCH_TASK_ELOG(param, ...) \
|
||||||
qError("QID:0x%" PRIx64 ",SID:%" PRId64 ",CID:0x%" PRIx64 ",TID:0x%" PRIx64 ",EID:%d " param, pJob->queryId, pJob->seriousId, SCH_CLIENT_ID(pTask), \
|
qError("QID:0x%" PRIx64 ", SID:%" PRId64 ", CID:0x%" PRIx64 ", TID:0x%" PRIx64 ", EID:%d, " param, pJob->queryId, pJob->seriousId, SCH_CLIENT_ID(pTask), \
|
||||||
SCH_TASK_ID(pTask), SCH_TASK_EID(pTask), __VA_ARGS__)
|
SCH_TASK_ID(pTask), SCH_TASK_EID(pTask), __VA_ARGS__)
|
||||||
#define SCH_TASK_DLOG(param, ...) \
|
#define SCH_TASK_DLOG(param, ...) \
|
||||||
qDebug("QID:0x%" PRIx64 ",SID:%" PRId64 ",CID:0x%" PRIx64 ",TID:0x%" PRIx64 ",EID:%d " param, pJob->queryId, pJob->seriousId, SCH_CLIENT_ID(pTask), \
|
qDebug("QID:0x%" PRIx64 ", SID:%" PRId64 ", CID:0x%" PRIx64 ", TID:0x%" PRIx64 ", EID:%d, " param, pJob->queryId, pJob->seriousId, SCH_CLIENT_ID(pTask), \
|
||||||
SCH_TASK_ID(pTask), SCH_TASK_EID(pTask), __VA_ARGS__)
|
SCH_TASK_ID(pTask), SCH_TASK_EID(pTask), __VA_ARGS__)
|
||||||
#define SCH_TASK_TLOG(param, ...) \
|
#define SCH_TASK_TLOG(param, ...) \
|
||||||
qTrace("QID:0x%" PRIx64 ",SID:%" PRId64 ",CID:0x%" PRIx64 ",TID:0x%" PRIx64 ",EID:%d " param, pJob->queryId, pJob->seriousId, SCH_CLIENT_ID(pTask), \
|
qTrace("QID:0x%" PRIx64 ", SID:%" PRId64 ", CID:0x%" PRIx64 ", TID:0x%" PRIx64 ", EID:%d, " param, pJob->queryId, pJob->seriousId, SCH_CLIENT_ID(pTask), \
|
||||||
SCH_TASK_ID(pTask), SCH_TASK_EID(pTask), __VA_ARGS__)
|
SCH_TASK_ID(pTask), SCH_TASK_EID(pTask), __VA_ARGS__)
|
||||||
#define SCH_TASK_DLOGL(param, ...) \
|
#define SCH_TASK_DLOGL(param, ...) \
|
||||||
qDebugL("QID:0x%" PRIx64 ",SID:%" PRId64 ",CID:0x%" PRIx64 ",TID:0x%" PRIx64 ",EID:%d " param, pJob->queryId, pJob->seriousId, SCH_CLIENT_ID(pTask), \
|
qDebugL("QID:0x%" PRIx64 ", SID:%" PRId64 ", CID:0x%" PRIx64 ", TID:0x%" PRIx64 ", EID:%d, " param, pJob->queryId, pJob->seriousId, SCH_CLIENT_ID(pTask), \
|
||||||
SCH_TASK_ID(pTask), SCH_TASK_EID(pTask), __VA_ARGS__)
|
SCH_TASK_ID(pTask), SCH_TASK_EID(pTask), __VA_ARGS__)
|
||||||
#define SCH_TASK_WLOG(param, ...) \
|
#define SCH_TASK_WLOG(param, ...) \
|
||||||
qWarn("QID:0x%" PRIx64 ",SID:%" PRId64 ",CID:0x%" PRIx64 ",TID:0x%" PRIx64 ",EID:%d " param, pJob->queryId, pJob->seriousId, SCH_CLIENT_ID(pTask), \
|
qWarn("QID:0x%" PRIx64 ", SID:%" PRId64 ", CID:0x%" PRIx64 ", TID:0x%" PRIx64 ", EID:%d, " param, pJob->queryId, pJob->seriousId, SCH_CLIENT_ID(pTask), \
|
||||||
SCH_TASK_ID(pTask), SCH_TASK_EID(pTask), __VA_ARGS__)
|
SCH_TASK_ID(pTask), SCH_TASK_EID(pTask), __VA_ARGS__)
|
||||||
|
|
||||||
#define SCH_SET_ERRNO(_err) \
|
#define SCH_SET_ERRNO(_err) \
|
||||||
|
|
|
@ -346,7 +346,7 @@ int32_t schValidateAndBuildJob(SQueryPlan *pDag, SSchJob *pJob) {
|
||||||
pJob->levelNum = levelNum;
|
pJob->levelNum = levelNum;
|
||||||
SCH_RESET_JOB_LEVEL_IDX(pJob);
|
SCH_RESET_JOB_LEVEL_IDX(pJob);
|
||||||
|
|
||||||
atomic_add_fetch_64(&pJob->seriousId, 1);
|
(void)atomic_add_fetch_64(&pJob->seriousId, 1);
|
||||||
SCH_JOB_DLOG("job seriousId set to 0x%" PRIx64, pJob->seriousId);
|
SCH_JOB_DLOG("job seriousId set to 0x%" PRIx64, pJob->seriousId);
|
||||||
|
|
||||||
SSchLevel level = {0};
|
SSchLevel level = {0};
|
||||||
|
@ -465,7 +465,7 @@ void schDumpJobExecRes(SSchJob *pJob, SExecResult *pRes) {
|
||||||
pJob->execRes.res = NULL;
|
pJob->execRes.res = NULL;
|
||||||
SCH_UNLOCK(SCH_WRITE, &pJob->resLock);
|
SCH_UNLOCK(SCH_WRITE, &pJob->resLock);
|
||||||
|
|
||||||
SCH_JOB_DLOG("execRes dumped, code: %s", tstrerror(pRes->code));
|
SCH_JOB_DLOG("execRes dumped, code:%s", tstrerror(pRes->code));
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t schDumpJobFetchRes(SSchJob *pJob, void **pData) {
|
int32_t schDumpJobFetchRes(SSchJob *pJob, void **pData) {
|
||||||
|
@ -519,9 +519,9 @@ int32_t schNotifyUserExecRes(SSchJob *pJob) {
|
||||||
|
|
||||||
schDumpJobExecRes(pJob, pRes);
|
schDumpJobExecRes(pJob, pRes);
|
||||||
|
|
||||||
SCH_JOB_DLOG("sch start to invoke exec cb, code: %s", tstrerror(pJob->errCode));
|
SCH_JOB_DLOG("sch start to invoke exec cb, code:%s", tstrerror(pJob->errCode));
|
||||||
(*pJob->userRes.execFp)(pRes, pJob->userRes.cbParam, atomic_load_32(&pJob->errCode));
|
(*pJob->userRes.execFp)(pRes, pJob->userRes.cbParam, atomic_load_32(&pJob->errCode));
|
||||||
SCH_JOB_DLOG("sch end from exec cb, code: %s", tstrerror(pJob->errCode));
|
SCH_JOB_DLOG("sch end from exec cb, code:%s", tstrerror(pJob->errCode));
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -534,9 +534,9 @@ int32_t schNotifyUserFetchRes(SSchJob *pJob) {
|
||||||
atomic_store_32(&pJob->errCode, code);
|
atomic_store_32(&pJob->errCode, code);
|
||||||
}
|
}
|
||||||
|
|
||||||
SCH_JOB_DLOG("sch start to invoke fetch cb, code: %s", tstrerror(pJob->errCode));
|
SCH_JOB_DLOG("sch start to invoke fetch cb, code:%s", tstrerror(pJob->errCode));
|
||||||
(*pJob->userRes.fetchFp)(pRes, pJob->userRes.cbParam, atomic_load_32(&pJob->errCode));
|
(*pJob->userRes.fetchFp)(pRes, pJob->userRes.cbParam, atomic_load_32(&pJob->errCode));
|
||||||
SCH_JOB_DLOG("sch end from fetch cb, code: %s", tstrerror(pJob->errCode));
|
SCH_JOB_DLOG("sch end from fetch cb, code:%s", tstrerror(pJob->errCode));
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -758,7 +758,7 @@ void schFreeJobImpl(void *job) {
|
||||||
uint64_t queryId = pJob->queryId;
|
uint64_t queryId = pJob->queryId;
|
||||||
int64_t refId = pJob->refId;
|
int64_t refId = pJob->refId;
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " begin to free sch job, refId:0x%" PRIx64 ", pointer:%p", queryId, refId, pJob);
|
qDebug("QID:0x%" PRIx64 ", begin to free sch job, refId:0x%" PRIx64 ", pointer:%p", queryId, refId, pJob);
|
||||||
|
|
||||||
schDropJobAllTasks(pJob);
|
schDropJobAllTasks(pJob);
|
||||||
|
|
||||||
|
@ -818,7 +818,7 @@ void schFreeJobImpl(void *job) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 " sch job freed, refId:0x%" PRIx64 ", pointer:%p", queryId, refId, pJob);
|
qDebug("QID:0x%" PRIx64 ", sch job freed, refId:0x%" PRIx64 ", pointer:%p", queryId, refId, pJob);
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t schJobFetchRows(SSchJob *pJob) {
|
int32_t schJobFetchRows(SSchJob *pJob) {
|
||||||
|
@ -853,7 +853,7 @@ int32_t schInitJob(int64_t *pJobId, SSchedulerReq *pReq) {
|
||||||
int64_t refId = -1;
|
int64_t refId = -1;
|
||||||
SSchJob *pJob = taosMemoryCalloc(1, sizeof(SSchJob));
|
SSchJob *pJob = taosMemoryCalloc(1, sizeof(SSchJob));
|
||||||
if (NULL == pJob) {
|
if (NULL == pJob) {
|
||||||
qError("QID:0x%" PRIx64 " calloc %d failed", pReq->pDag->queryId, (int32_t)sizeof(SSchJob));
|
qError("QID:0x%" PRIx64 ", calloc %d failed", pReq->pDag->queryId, (int32_t)sizeof(SSchJob));
|
||||||
SCH_ERR_JRET(terrno);
|
SCH_ERR_JRET(terrno);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -863,7 +863,7 @@ int32_t schInitJob(int64_t *pJobId, SSchedulerReq *pReq) {
|
||||||
if (pReq->sql) {
|
if (pReq->sql) {
|
||||||
pJob->sql = taosStrdup(pReq->sql);
|
pJob->sql = taosStrdup(pReq->sql);
|
||||||
if (NULL == pJob->sql) {
|
if (NULL == pJob->sql) {
|
||||||
qError("QID:0x%" PRIx64 " strdup sql %s failed", pReq->pDag->queryId, pReq->sql);
|
qError("QID:0x%" PRIx64 ", strdup sql %s failed", pReq->pDag->queryId, pReq->sql);
|
||||||
SCH_ERR_JRET(terrno);
|
SCH_ERR_JRET(terrno);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -871,7 +871,7 @@ int32_t schInitJob(int64_t *pJobId, SSchedulerReq *pReq) {
|
||||||
if (pReq->allocatorRefId > 0) {
|
if (pReq->allocatorRefId > 0) {
|
||||||
pJob->allocatorRefId = nodesMakeAllocatorWeakRef(pReq->allocatorRefId);
|
pJob->allocatorRefId = nodesMakeAllocatorWeakRef(pReq->allocatorRefId);
|
||||||
if (pJob->allocatorRefId <= 0) {
|
if (pJob->allocatorRefId <= 0) {
|
||||||
qError("QID:0x%" PRIx64 " nodesMakeAllocatorWeakRef failed", pReq->pDag->queryId);
|
qError("QID:0x%" PRIx64 ", nodesMakeAllocatorWeakRef failed", pReq->pDag->queryId);
|
||||||
SCH_ERR_JRET(terrno);
|
SCH_ERR_JRET(terrno);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -883,11 +883,11 @@ int32_t schInitJob(int64_t *pJobId, SSchedulerReq *pReq) {
|
||||||
pJob->pWorkerCb = pReq->pWorkerCb;
|
pJob->pWorkerCb = pReq->pWorkerCb;
|
||||||
|
|
||||||
if (pReq->pNodeList == NULL || taosArrayGetSize(pReq->pNodeList) <= 0) {
|
if (pReq->pNodeList == NULL || taosArrayGetSize(pReq->pNodeList) <= 0) {
|
||||||
qDebug("QID:0x%" PRIx64 " input exec nodeList is empty", pReq->pDag->queryId);
|
qDebug("QID:0x%" PRIx64 ", input exec nodeList is empty", pReq->pDag->queryId);
|
||||||
} else {
|
} else {
|
||||||
pJob->nodeList = taosArrayDup(pReq->pNodeList, NULL);
|
pJob->nodeList = taosArrayDup(pReq->pNodeList, NULL);
|
||||||
if (NULL == pJob->nodeList) {
|
if (NULL == pJob->nodeList) {
|
||||||
qError("QID:0x%" PRIx64 " taosArrayDup failed, origNum:%d", pReq->pDag->queryId,
|
qError("QID:0x%" PRIx64 ", taosArrayDup failed, origNum:%d", pReq->pDag->queryId,
|
||||||
(int32_t)taosArrayGetSize(pReq->pNodeList));
|
(int32_t)taosArrayGetSize(pReq->pNodeList));
|
||||||
SCH_ERR_JRET(terrno);
|
SCH_ERR_JRET(terrno);
|
||||||
}
|
}
|
||||||
|
@ -950,7 +950,7 @@ _return:
|
||||||
|
|
||||||
int32_t schExecJob(SSchJob *pJob, SSchedulerReq *pReq) {
|
int32_t schExecJob(SSchJob *pJob, SSchedulerReq *pReq) {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
qDebug("QID:0x%" PRIx64 " sch job refId 0x%" PRIx64 " started", pReq->pDag->queryId, pJob->refId);
|
qDebug("QID:0x%" PRIx64 ", sch job refId 0x%" PRIx64 " started", pReq->pDag->queryId, pJob->refId);
|
||||||
|
|
||||||
SCH_ERR_RET(schLaunchJob(pJob));
|
SCH_ERR_RET(schLaunchJob(pJob));
|
||||||
|
|
||||||
|
@ -958,7 +958,7 @@ int32_t schExecJob(SSchJob *pJob, SSchedulerReq *pReq) {
|
||||||
SCH_JOB_DLOG("sync wait for rsp now, job status:%s", SCH_GET_JOB_STATUS_STR(pJob));
|
SCH_JOB_DLOG("sync wait for rsp now, job status:%s", SCH_GET_JOB_STATUS_STR(pJob));
|
||||||
code = tsem_wait(&pJob->rspSem);
|
code = tsem_wait(&pJob->rspSem);
|
||||||
if (code) {
|
if (code) {
|
||||||
qError("QID:0x%" PRIx64 " tsem_wait sync rspSem failed, error:%s", pReq->pDag->queryId, tstrerror(code));
|
qError("QID:0x%" PRIx64 ", tsem_wait sync rspSem failed, error:%s", pReq->pDag->queryId, tstrerror(code));
|
||||||
SCH_ERR_RET(code);
|
SCH_ERR_RET(code);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1023,7 +1023,7 @@ int32_t schResetJobForRetry(SSchJob *pJob, SSchTask *pTask, int32_t rspCode, boo
|
||||||
|
|
||||||
SCH_ERR_RET(schChkResetJobRetry(pJob, rspCode));
|
SCH_ERR_RET(schChkResetJobRetry(pJob, rspCode));
|
||||||
|
|
||||||
atomic_add_fetch_64(&pJob->seriousId, 1);
|
(void)atomic_add_fetch_64(&pJob->seriousId, 1);
|
||||||
|
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
int32_t numOfLevels = taosArrayGetSize(pJob->levels);
|
int32_t numOfLevels = taosArrayGetSize(pJob->levels);
|
||||||
|
@ -1246,7 +1246,7 @@ int32_t schProcessOnCbBegin(SSchJob **job, SSchTask **task, uint64_t qId, int64_
|
||||||
|
|
||||||
(void)schAcquireJob(rId, &pJob);
|
(void)schAcquireJob(rId, &pJob);
|
||||||
if (NULL == pJob) {
|
if (NULL == pJob) {
|
||||||
qWarn("QID:0x%" PRIx64 ",TID:0x%" PRIx64 "job no exist, may be dropped, refId:0x%" PRIx64, qId, tId, rId);
|
qWarn("QID:0x%" PRIx64 ", TID:0x%" PRIx64 "job no exist, may be dropped, refId:0x%" PRIx64, qId, tId, rId);
|
||||||
SCH_ERR_RET(TSDB_CODE_QRY_JOB_NOT_EXIST);
|
SCH_ERR_RET(TSDB_CODE_QRY_JOB_NOT_EXIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -489,7 +489,8 @@ int32_t schHandleCallback(void *param, SDataBuf *pMsg, int32_t rspCode) {
|
||||||
SSchTask *pTask = NULL;
|
SSchTask *pTask = NULL;
|
||||||
SSchJob *pJob = NULL;
|
SSchJob *pJob = NULL;
|
||||||
|
|
||||||
qDebug("begin to handle rsp msg, type:%s, handle:%p, code:%s", TMSG_INFO(pMsg->msgType), pMsg->handle,
|
int64_t qid = pParam->queryId;
|
||||||
|
qDebug("QID:0x%" PRIx64 ", begin to handle rsp msg, type:%s, handle:%p, code:%s", qid,TMSG_INFO(pMsg->msgType), pMsg->handle,
|
||||||
tstrerror(rspCode));
|
tstrerror(rspCode));
|
||||||
|
|
||||||
SCH_ERR_JRET(schProcessOnCbBegin(&pJob, &pTask, pParam->queryId, pParam->refId, pParam->taskId));
|
SCH_ERR_JRET(schProcessOnCbBegin(&pJob, &pTask, pParam->queryId, pParam->refId, pParam->taskId));
|
||||||
|
@ -503,7 +504,7 @@ _return:
|
||||||
taosMemoryFreeClear(pMsg->pData);
|
taosMemoryFreeClear(pMsg->pData);
|
||||||
taosMemoryFreeClear(pMsg->pEpSet);
|
taosMemoryFreeClear(pMsg->pEpSet);
|
||||||
|
|
||||||
qDebug("end to handle rsp msg, type:%s, handle:%p, code:%s", TMSG_INFO(pMsg->msgType), pMsg->handle,
|
qDebug("QID:0x%" PRIx64 ", end to handle rsp msg, type:%s, handle:%p, code:%s", qid, TMSG_INFO(pMsg->msgType), pMsg->handle,
|
||||||
tstrerror(rspCode));
|
tstrerror(rspCode));
|
||||||
|
|
||||||
SCH_RET(code);
|
SCH_RET(code);
|
||||||
|
@ -511,7 +512,7 @@ _return:
|
||||||
|
|
||||||
int32_t schHandleDropCallback(void *param, SDataBuf *pMsg, int32_t code) {
|
int32_t schHandleDropCallback(void *param, SDataBuf *pMsg, int32_t code) {
|
||||||
SSchTaskCallbackParam *pParam = (SSchTaskCallbackParam *)param;
|
SSchTaskCallbackParam *pParam = (SSchTaskCallbackParam *)param;
|
||||||
qDebug("QID:0x%" PRIx64 ",SID:0x%" PRIx64 ",CID:0x%" PRIx64 ",TID:0x%" PRIx64 " drop task rsp received, code:0x%x",
|
qDebug("QID:0x%" PRIx64 ", SID:0x%" PRIx64 ", CID:0x%" PRIx64 ", TID:0x%" PRIx64 " drop task rsp received, code:0x%x",
|
||||||
pParam->queryId, pParam->seriousId, pParam->clientId, pParam->taskId, code);
|
pParam->queryId, pParam->seriousId, pParam->clientId, pParam->taskId, code);
|
||||||
// called if drop task rsp received code
|
// called if drop task rsp received code
|
||||||
(void)rpcReleaseHandle(pMsg->handle, TAOS_CONN_CLIENT, 0); // ignore error
|
(void)rpcReleaseHandle(pMsg->handle, TAOS_CONN_CLIENT, 0); // ignore error
|
||||||
|
@ -528,7 +529,7 @@ int32_t schHandleDropCallback(void *param, SDataBuf *pMsg, int32_t code) {
|
||||||
|
|
||||||
int32_t schHandleNotifyCallback(void *param, SDataBuf *pMsg, int32_t code) {
|
int32_t schHandleNotifyCallback(void *param, SDataBuf *pMsg, int32_t code) {
|
||||||
SSchTaskCallbackParam *pParam = (SSchTaskCallbackParam *)param;
|
SSchTaskCallbackParam *pParam = (SSchTaskCallbackParam *)param;
|
||||||
qDebug("QID:0x%" PRIx64 ",SID:0x%" PRIx64 ",CID:0x%" PRIx64 ",TID:0x%" PRIx64 " task notify rsp received, code:0x%x",
|
qDebug("QID:0x%" PRIx64 ", SID:0x%" PRIx64 ", CID:0x%" PRIx64 ", TID:0x%" PRIx64 " task notify rsp received, code:0x%x",
|
||||||
pParam->queryId, pParam->seriousId, pParam->clientId, pParam->taskId, code);
|
pParam->queryId, pParam->seriousId, pParam->clientId, pParam->taskId, code);
|
||||||
if (pMsg) {
|
if (pMsg) {
|
||||||
taosMemoryFreeClear(pMsg->pData);
|
taosMemoryFreeClear(pMsg->pData);
|
||||||
|
|
|
@ -70,7 +70,7 @@ int32_t schHandleOpBeginEvent(int64_t jobId, SSchJob** job, SCH_OP_TYPE type, SS
|
||||||
SSchJob* pJob = NULL;
|
SSchJob* pJob = NULL;
|
||||||
(void)schAcquireJob(jobId, &pJob);
|
(void)schAcquireJob(jobId, &pJob);
|
||||||
if (NULL == pJob) {
|
if (NULL == pJob) {
|
||||||
qDebug("Acquire sch job failed, may be dropped, jobId:0x%" PRIx64, jobId);
|
qDebug("jobId:0x%" PRIx64 ", acquire sch job failed, may be dropped", jobId);
|
||||||
SCH_ERR_RET(TSDB_CODE_SCH_JOB_NOT_EXISTS);
|
SCH_ERR_RET(TSDB_CODE_SCH_JOB_NOT_EXISTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1014,7 +1014,7 @@ int32_t schProcessOnTaskStatusRsp(SQueryNodeEpId *pEpId, SArray *pStatusList) {
|
||||||
|
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 ",CID:0x%" PRIx64 ",TID:0x%" PRIx64 ",EID:%d task status in server: %s", pStatus->queryId,
|
qDebug("QID:0x%" PRIx64 ", CID:0x%" PRIx64 ", TID:0x%" PRIx64 ", EID:%d task status in server: %s", pStatus->queryId,
|
||||||
pStatus->clientId, pStatus->taskId, pStatus->execId, jobTaskStatusStr(pStatus->status));
|
pStatus->clientId, pStatus->taskId, pStatus->execId, jobTaskStatusStr(pStatus->status));
|
||||||
|
|
||||||
if (schProcessOnCbBegin(&pJob, &pTask, pStatus->queryId, pStatus->refId, pStatus->taskId)) {
|
if (schProcessOnCbBegin(&pJob, &pTask, pStatus->queryId, pStatus->refId, pStatus->taskId)) {
|
||||||
|
@ -1061,13 +1061,13 @@ int32_t schHandleExplainRes(SArray *pExplainRes) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 ",CID:0x%" PRIx64 ",TID:0x%" PRIx64 ", begin to handle LOCAL explain rsp msg",
|
qDebug("QID:0x%" PRIx64 ", CID:0x%" PRIx64 ", TID:0x%" PRIx64 ", begin to handle LOCAL explain rsp msg",
|
||||||
localRsp->qId, localRsp->cId, localRsp->tId);
|
localRsp->qId, localRsp->cId, localRsp->tId);
|
||||||
|
|
||||||
pJob = NULL;
|
pJob = NULL;
|
||||||
(void)schAcquireJob(localRsp->rId, &pJob);
|
(void)schAcquireJob(localRsp->rId, &pJob);
|
||||||
if (NULL == pJob) {
|
if (NULL == pJob) {
|
||||||
qWarn("QID:0x%" PRIx64 ",CID:0x%" PRIx64 ",TID:0x%" PRIx64 "job no exist, may be dropped, refId:0x%" PRIx64,
|
qWarn("QID:0x%" PRIx64 ", CID:0x%" PRIx64 ", TID:0x%" PRIx64 " job no exist, may be dropped, refId:0x%" PRIx64,
|
||||||
localRsp->qId, localRsp->cId, localRsp->tId, localRsp->rId);
|
localRsp->qId, localRsp->cId, localRsp->tId, localRsp->rId);
|
||||||
SCH_ERR_JRET(TSDB_CODE_QRY_JOB_NOT_EXIST);
|
SCH_ERR_JRET(TSDB_CODE_QRY_JOB_NOT_EXIST);
|
||||||
}
|
}
|
||||||
|
@ -1087,7 +1087,7 @@ int32_t schHandleExplainRes(SArray *pExplainRes) {
|
||||||
|
|
||||||
(void)schReleaseJob(pJob->refId);
|
(void)schReleaseJob(pJob->refId);
|
||||||
|
|
||||||
qDebug("QID:0x%" PRIx64 ",CID:0x%" PRIx64 ",TID:0x%" PRIx64 ", end to handle LOCAL explain rsp msg, code:%x",
|
qDebug("QID:0x%" PRIx64 ", CID:0x%" PRIx64 ", TID:0x%" PRIx64 ", end to handle LOCAL explain rsp msg, code:%x",
|
||||||
localRsp->qId, localRsp->cId, localRsp->tId, code);
|
localRsp->qId, localRsp->cId, localRsp->tId, code);
|
||||||
|
|
||||||
SCH_ERR_JRET(code);
|
SCH_ERR_JRET(code);
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
#include "trpc.h"
|
#include "trpc.h"
|
||||||
|
|
||||||
FORCE_INLINE int32_t schAcquireJob(int64_t refId, SSchJob **ppJob) {
|
FORCE_INLINE int32_t schAcquireJob(int64_t refId, SSchJob **ppJob) {
|
||||||
qDebug("sch acquire jobId:0x%" PRIx64, refId);
|
qTrace("jobId:0x%" PRIx64 ", sch acquire", refId);
|
||||||
*ppJob = (SSchJob *)taosAcquireRef(schMgmt.jobRef, refId);
|
*ppJob = (SSchJob *)taosAcquireRef(schMgmt.jobRef, refId);
|
||||||
if (NULL == *ppJob) {
|
if (NULL == *ppJob) {
|
||||||
return terrno;
|
return terrno;
|
||||||
|
@ -37,7 +37,7 @@ FORCE_INLINE int32_t schReleaseJob(int64_t refId) {
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("sch release jobId:0x%" PRIx64, refId);
|
qTrace("jobId:0x%" PRIx64 ", sch release", refId);
|
||||||
return taosReleaseRef(schMgmt.jobRef, refId);
|
return taosReleaseRef(schMgmt.jobRef, refId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ FORCE_INLINE int32_t schReleaseJobEx(int64_t refId, int32_t *released) {
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("sch release ex jobId:0x%" PRIx64, refId);
|
qTrace("jobId:0x%" PRIx64 ", sch release ex", refId);
|
||||||
return taosReleaseRefEx(schMgmt.jobRef, refId, released);
|
return taosReleaseRefEx(schMgmt.jobRef, refId, released);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -122,7 +122,7 @@ int32_t schRemoveHbConnection(SSchJob *pJob, SSchTask *pTask, SQueryNodeEpId *ep
|
||||||
SSchHbTrans *hb = taosHashGet(schMgmt.hbConnections, epId, sizeof(SQueryNodeEpId));
|
SSchHbTrans *hb = taosHashGet(schMgmt.hbConnections, epId, sizeof(SQueryNodeEpId));
|
||||||
if (NULL == hb) {
|
if (NULL == hb) {
|
||||||
SCH_UNLOCK(SCH_WRITE, &schMgmt.hbLock);
|
SCH_UNLOCK(SCH_WRITE, &schMgmt.hbLock);
|
||||||
SCH_TASK_ELOG("nodeId %d fqdn %s port %d not in hb connections", epId->nodeId, epId->ep.fqdn, epId->ep.port);
|
SCH_TASK_ELOG("nodeId:%d fqdn:%s port:%d not in hb connections", epId->nodeId, epId->ep.fqdn, epId->ep.port);
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -62,7 +62,7 @@ int32_t schedulerInit() {
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t schedulerExecJob(SSchedulerReq *pReq, int64_t *pJobId) {
|
int32_t schedulerExecJob(SSchedulerReq *pReq, int64_t *pJobId) {
|
||||||
qDebug("scheduler %s exec job start", pReq->syncReq ? "SYNC" : "ASYNC");
|
qDebug("QID:0x%" PRIx64 ", scheduler %s exec job will start", pReq->pConn->requestId, pReq->syncReq ? "SYNC" : "ASYNC");
|
||||||
|
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
SSchJob *pJob = NULL;
|
SSchJob *pJob = NULL;
|
||||||
|
@ -111,7 +111,7 @@ int32_t schedulerGetTasksStatus(int64_t jobId, SArray *pSub) {
|
||||||
for (int32_t m = 0; m < pLevel->taskNum; ++m) {
|
for (int32_t m = 0; m < pLevel->taskNum; ++m) {
|
||||||
SSchTask *pTask = taosArrayGet(pLevel->subTasks, m);
|
SSchTask *pTask = taosArrayGet(pLevel->subTasks, m);
|
||||||
if (NULL == pTask) {
|
if (NULL == pTask) {
|
||||||
qError("failed to get task %d, total: %d", m, pLevel->taskNum);
|
qError("failed to get task %d, total:%d", m, pLevel->taskNum);
|
||||||
SCH_ERR_JRET(TSDB_CODE_SCH_INTERNAL_ERROR);
|
SCH_ERR_JRET(TSDB_CODE_SCH_INTERNAL_ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@ int32_t schedulerGetTasksStatus(int64_t jobId, SArray *pSub) {
|
||||||
TAOS_STRCPY(subDesc.status, jobTaskStatusStr(pTask->status));
|
TAOS_STRCPY(subDesc.status, jobTaskStatusStr(pTask->status));
|
||||||
|
|
||||||
if (NULL == taosArrayPush(pSub, &subDesc)) {
|
if (NULL == taosArrayPush(pSub, &subDesc)) {
|
||||||
qError("taosArrayPush task %d failed, error: %x, ", m, terrno);
|
qError("taosArrayPush task %d failed, error:0x%x", m, terrno);
|
||||||
SCH_ERR_JRET(terrno);
|
SCH_ERR_JRET(terrno);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -167,11 +167,11 @@ void schedulerFreeJob(int64_t *jobId, int32_t errCode) {
|
||||||
SSchJob *pJob = NULL;
|
SSchJob *pJob = NULL;
|
||||||
(void)schAcquireJob(*jobId, &pJob);
|
(void)schAcquireJob(*jobId, &pJob);
|
||||||
if (NULL == pJob) {
|
if (NULL == pJob) {
|
||||||
qDebug("Acquire sch job failed, may be dropped, jobId:0x%" PRIx64, *jobId);
|
qDebug("jobId:0x%" PRIx64 ", acquire sch job failed, may be dropped", *jobId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
SCH_JOB_DLOG("start to free job 0x%" PRIx64 ", code:%s", *jobId, tstrerror(errCode));
|
SCH_JOB_DLOG("jobId:0x%" PRIx64 ", start to free, code:%s", *jobId, tstrerror(errCode));
|
||||||
(void)schHandleJobDrop(pJob, errCode); // ignore any error
|
(void)schHandleJobDrop(pJob, errCode); // ignore any error
|
||||||
|
|
||||||
int32_t released = false;
|
int32_t released = false;
|
||||||
|
@ -224,7 +224,7 @@ int32_t schedulerValidatePlan(SQueryPlan* pPlan) {
|
||||||
int32_t code = TSDB_CODE_SUCCESS;
|
int32_t code = TSDB_CODE_SUCCESS;
|
||||||
SSchJob *pJob = taosMemoryCalloc(1, sizeof(SSchJob));
|
SSchJob *pJob = taosMemoryCalloc(1, sizeof(SSchJob));
|
||||||
if (NULL == pJob) {
|
if (NULL == pJob) {
|
||||||
qError("QID:0x%" PRIx64 " calloc %d failed", pPlan->queryId, (int32_t)sizeof(SSchJob));
|
qError("QID:0x%" PRIx64 ", calloc %d failed", pPlan->queryId, (int32_t)sizeof(SSchJob));
|
||||||
SCH_ERR_RET(terrno);
|
SCH_ERR_RET(terrno);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -471,7 +471,7 @@ int32_t streamTaskUpdateCheckInfo(STaskCheckInfo* pInfo, int32_t taskId, int32_t
|
||||||
}
|
}
|
||||||
|
|
||||||
streamMutexUnlock(&pInfo->checkInfoLock);
|
streamMutexUnlock(&pInfo->checkInfoLock);
|
||||||
stError("s-task:%s unexpected check rsp msg, invalid downstream task:0x%x,QID:%" PRIx64 " discarded", id, taskId,
|
stError("s-task:%s unexpected check rsp msg, invalid downstream task:0x%x, QID:%" PRIx64 " discarded", id, taskId,
|
||||||
reqId);
|
reqId);
|
||||||
return TSDB_CODE_FAILED;
|
return TSDB_CODE_FAILED;
|
||||||
}
|
}
|
||||||
|
|
|
@ -134,7 +134,7 @@ int32_t streamTaskBroadcastRetrieveReq(SStreamTask* pTask, SStreamRetrieveReq* r
|
||||||
stError("s-task:%s (child %d) failed to send retrieve req to task:0x%x (vgId:%d) QID:0x%" PRIx64 " code:%s",
|
stError("s-task:%s (child %d) failed to send retrieve req to task:0x%x (vgId:%d) QID:0x%" PRIx64 " code:%s",
|
||||||
pTask->id.idStr, pTask->info.selfChildId, pEpInfo->taskId, pEpInfo->nodeId, req->reqId, tstrerror(code));
|
pTask->id.idStr, pTask->info.selfChildId, pEpInfo->taskId, pEpInfo->nodeId, req->reqId, tstrerror(code));
|
||||||
} else {
|
} else {
|
||||||
stDebug("s-task:%s (child %d) send retrieve req to task:0x%x (vgId:%d),QID:0x%" PRIx64, pTask->id.idStr,
|
stDebug("s-task:%s (child %d) send retrieve req to task:0x%x (vgId:%d), QID:0x%" PRIx64, pTask->id.idStr,
|
||||||
pTask->info.selfChildId, pEpInfo->taskId, pEpInfo->nodeId, req->reqId);
|
pTask->info.selfChildId, pEpInfo->taskId, pEpInfo->nodeId, req->reqId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -122,7 +122,7 @@ static int32_t doAppendPullOverBlock(SStreamTask* pTask, int32_t* pNumOfBlocks,
|
||||||
pTask->info.selfChildId, pRetrieveBlock->reqId);
|
pTask->info.selfChildId, pRetrieveBlock->reqId);
|
||||||
} else {
|
} else {
|
||||||
code = terrno;
|
code = terrno;
|
||||||
stError("s-task:%s failed to append pull over block for retrieve data, QID:0x%" PRIx64" code:%s", pTask->id.idStr,
|
stError("s-task:%s failed to append pull over block for retrieve data, QID:0x%" PRIx64 " code:%s", pTask->id.idStr,
|
||||||
pRetrieveBlock->reqId, tstrerror(code));
|
pRetrieveBlock->reqId, tstrerror(code));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2922,12 +2922,12 @@ void syncNodeLogConfigInfo(SSyncNode* ths, SSyncCfg* cfg, char* str) {
|
||||||
ths->vgId, str, ths->replicaNum, ths->peersNum, ths->raftCfg.lastConfigIndex, ths->raftCfg.cfg.changeVersion,
|
ths->vgId, str, ths->replicaNum, ths->peersNum, ths->raftCfg.lastConfigIndex, ths->raftCfg.cfg.changeVersion,
|
||||||
ths->restoreFinish);
|
ths->restoreFinish);
|
||||||
|
|
||||||
sInfo("vgId:%d, %s, myNodeInfo, clusterId:%" PRId64 ", nodeId:%d, Fqdn:%s, port:%d, role:%d", ths->vgId, str,
|
sInfo("vgId:%d, %s, myNodeInfo, clusterId:0x%" PRIx64 ", nodeId:%d, Fqdn:%s, port:%d, role:%d", ths->vgId, str,
|
||||||
ths->myNodeInfo.clusterId, ths->myNodeInfo.nodeId, ths->myNodeInfo.nodeFqdn, ths->myNodeInfo.nodePort,
|
ths->myNodeInfo.clusterId, ths->myNodeInfo.nodeId, ths->myNodeInfo.nodeFqdn, ths->myNodeInfo.nodePort,
|
||||||
ths->myNodeInfo.nodeRole);
|
ths->myNodeInfo.nodeRole);
|
||||||
|
|
||||||
for (int32_t i = 0; i < ths->peersNum; ++i) {
|
for (int32_t i = 0; i < ths->peersNum; ++i) {
|
||||||
sInfo("vgId:%d, %s, peersNodeInfo%d, clusterId:%" PRId64 ", nodeId:%d, Fqdn:%s, port:%d, role:%d", ths->vgId, str,
|
sInfo("vgId:%d, %s, peersNodeInfo%d, clusterId:0x%" PRIx64 ", nodeId:%d, Fqdn:%s, port:%d, role:%d", ths->vgId, str,
|
||||||
i, ths->peersNodeInfo[i].clusterId, ths->peersNodeInfo[i].nodeId, ths->peersNodeInfo[i].nodeFqdn,
|
i, ths->peersNodeInfo[i].clusterId, ths->peersNodeInfo[i].nodeId, ths->peersNodeInfo[i].nodeFqdn,
|
||||||
ths->peersNodeInfo[i].nodePort, ths->peersNodeInfo[i].nodeRole);
|
ths->peersNodeInfo[i].nodePort, ths->peersNodeInfo[i].nodeRole);
|
||||||
}
|
}
|
||||||
|
@ -2951,7 +2951,7 @@ void syncNodeLogConfigInfo(SSyncNode* ths, SSyncCfg* cfg, char* str) {
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int32_t i = 0; i < ths->raftCfg.cfg.totalReplicaNum; ++i) {
|
for (int32_t i = 0; i < ths->raftCfg.cfg.totalReplicaNum; ++i) {
|
||||||
sInfo("vgId:%d, %s, nodeInfo%d, clusterId:%" PRId64 ", nodeId:%d, Fqdn:%s, port:%d, role:%d", ths->vgId, str, i,
|
sInfo("vgId:%d, %s, nodeInfo%d, clusterId:0x%" PRIx64 ", nodeId:%d, Fqdn:%s, port:%d, role:%d", ths->vgId, str, i,
|
||||||
ths->raftCfg.cfg.nodeInfo[i].clusterId, ths->raftCfg.cfg.nodeInfo[i].nodeId,
|
ths->raftCfg.cfg.nodeInfo[i].clusterId, ths->raftCfg.cfg.nodeInfo[i].nodeId,
|
||||||
ths->raftCfg.cfg.nodeInfo[i].nodeFqdn, ths->raftCfg.cfg.nodeInfo[i].nodePort,
|
ths->raftCfg.cfg.nodeInfo[i].nodeFqdn, ths->raftCfg.cfg.nodeInfo[i].nodePort,
|
||||||
ths->raftCfg.cfg.nodeInfo[i].nodeRole);
|
ths->raftCfg.cfg.nodeInfo[i].nodeRole);
|
||||||
|
|
|
@ -32,12 +32,12 @@ extern "C" {
|
||||||
#define tTrace(...) { if (rpcDebugFlag & DEBUG_TRACE) { taosPrintLog("RPC TRACE ", DEBUG_TRACE, rpcDebugFlag, __VA_ARGS__); }}
|
#define tTrace(...) { if (rpcDebugFlag & DEBUG_TRACE) { taosPrintLog("RPC TRACE ", DEBUG_TRACE, rpcDebugFlag, __VA_ARGS__); }}
|
||||||
#define tDump(x, y) { if (rpcDebugFlag & DEBUG_DUMP) { taosDumpData((unsigned char *)x, y); } }
|
#define tDump(x, y) { if (rpcDebugFlag & DEBUG_DUMP) { taosDumpData((unsigned char *)x, y); } }
|
||||||
|
|
||||||
#define tGTrace(param, ...) do { if (rpcDebugFlag & DEBUG_TRACE){char buf[40] = {0}; TRACE_TO_STR(trace, buf); tTrace(param ",QID:%s", __VA_ARGS__, buf);}} while(0)
|
#define tGTrace(param, ...) do { if (rpcDebugFlag & DEBUG_TRACE){ char buf[40] = {0}; TRACE_TO_STR(trace, buf); tTrace(param ", QID:%s", __VA_ARGS__, buf);}} while(0)
|
||||||
#define tGFatal(param, ...) do {if (rpcDebugFlag & DEBUG_FATAL){ char buf[40] = {0}; TRACE_TO_STR(trace, buf); tFatal(param ",QID:%s", __VA_ARGS__, buf); }} while (0)
|
#define tGFatal(param, ...) do {if (rpcDebugFlag & DEBUG_FATAL) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); tFatal(param ", QID:%s", __VA_ARGS__, buf);}} while(0)
|
||||||
#define tGError(param, ...) do { if (rpcDebugFlag & DEBUG_ERROR){ char buf[40] = {0}; TRACE_TO_STR(trace, buf); tError(param ",QID:%s", __VA_ARGS__, buf);} } while(0)
|
#define tGError(param, ...) do { if (rpcDebugFlag & DEBUG_ERROR){ char buf[40] = {0}; TRACE_TO_STR(trace, buf); tError(param ", QID:%s", __VA_ARGS__, buf);}} while(0)
|
||||||
#define tGWarn(param, ...) do { if (rpcDebugFlag & DEBUG_WARN) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); tWarn(param ",QID:%s", __VA_ARGS__, buf); }} while(0)
|
#define tGWarn(param, ...) do { if (rpcDebugFlag & DEBUG_WARN) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); tWarn(param ", QID:%s", __VA_ARGS__, buf);}} while(0)
|
||||||
#define tGInfo(param, ...) do { if (rpcDebugFlag & DEBUG_INFO) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); tInfo(param ",QID:%s", __VA_ARGS__, buf); }} while(0)
|
#define tGInfo(param, ...) do { if (rpcDebugFlag & DEBUG_INFO) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); tInfo(param ", QID:%s", __VA_ARGS__, buf);}} while(0)
|
||||||
#define tGDebug(param,...) do {if (rpcDebugFlag & DEBUG_DEBUG){ char buf[40] = {0}; TRACE_TO_STR(trace, buf); tDebug(param ",QID:%s", __VA_ARGS__, buf); }} while(0)
|
#define tGDebug(param,...) do {if (rpcDebugFlag & DEBUG_DEBUG) { char buf[40] = {0}; TRACE_TO_STR(trace, buf); tDebug(param ", QID:%s", __VA_ARGS__, buf);}} while(0)
|
||||||
|
|
||||||
|
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
|
@ -235,7 +235,7 @@ static FORCE_INLINE int32_t taosBuildDstAddr(const char* server, uint16_t port,
|
||||||
uint32_t ip = 0;
|
uint32_t ip = 0;
|
||||||
int32_t code = taosGetIpv4FromFqdn(server, &ip);
|
int32_t code = taosGetIpv4FromFqdn(server, &ip);
|
||||||
if (code) {
|
if (code) {
|
||||||
tError("http-report failed to resolving domain names %s, reason: %s", server, tstrerror(code));
|
tError("http-report failed to resolving domain names %s, reason:%s", server, tstrerror(code));
|
||||||
return TSDB_CODE_RPC_FQDN_ERROR;
|
return TSDB_CODE_RPC_FQDN_ERROR;
|
||||||
}
|
}
|
||||||
char buf[TD_IP_LEN] = {0};
|
char buf[TD_IP_LEN] = {0};
|
||||||
|
@ -332,7 +332,7 @@ static void httpMayDiscardMsg(SHttpModule* http, SAsyncItem* item) {
|
||||||
QUEUE_REMOVE(h);
|
QUEUE_REMOVE(h);
|
||||||
msg = QUEUE_DATA(h, SHttpMsg, q);
|
msg = QUEUE_DATA(h, SHttpMsg, q);
|
||||||
if (!msg->quit) {
|
if (!msg->quit) {
|
||||||
tError("http-report failed to report chanId:%" PRId64 ",seq:%" PRId64 ", reason: %s", msg->chanId, msg->seq,
|
tError("http-report failed to report chanId:%" PRId64 ",seq:%" PRId64 ", reason:%s", msg->chanId, msg->seq,
|
||||||
tstrerror(TSDB_CODE_HTTP_MODULE_QUIT));
|
tstrerror(TSDB_CODE_HTTP_MODULE_QUIT));
|
||||||
httpDestroyMsg(msg);
|
httpDestroyMsg(msg);
|
||||||
} else {
|
} else {
|
||||||
|
@ -471,7 +471,7 @@ static void clientSentCb(uv_write_t* req, int32_t status) {
|
||||||
STUB_RAND_NETWORK_ERR(status);
|
STUB_RAND_NETWORK_ERR(status);
|
||||||
SHttpClient* cli = req->data;
|
SHttpClient* cli = req->data;
|
||||||
if (status != 0) {
|
if (status != 0) {
|
||||||
tError("http-report failed to send data, reason: %s, dst:%s:%d, chanId:%" PRId64 ", seq:%" PRId64 "",
|
tError("http-report failed to send data, reason:%s, dst:%s:%d, chanId:%" PRId64 ", seq:%" PRId64 "",
|
||||||
uv_strerror(status), cli->addr, cli->port, cli->chanId, cli->seq);
|
uv_strerror(status), cli->addr, cli->port, cli->chanId, cli->seq);
|
||||||
if (!uv_is_closing((uv_handle_t*)&cli->tcp)) {
|
if (!uv_is_closing((uv_handle_t*)&cli->tcp)) {
|
||||||
uv_close((uv_handle_t*)&cli->tcp, clientCloseCb);
|
uv_close((uv_handle_t*)&cli->tcp, clientCloseCb);
|
||||||
|
@ -725,7 +725,7 @@ static void httpHandleReq(SHttpMsg* msg) {
|
||||||
|
|
||||||
END:
|
END:
|
||||||
if (ignore == false) {
|
if (ignore == false) {
|
||||||
tError("http-report failed to report to addr: %s:%d, chanId:%" PRId64 ",seq:%" PRId64 " reason:%s", msg->server,
|
tError("http-report failed to report to addr:%s:%d, chanId:%" PRId64 ",seq:%" PRId64 " reason:%s", msg->server,
|
||||||
msg->port, chanId, msg->seq, tstrerror(code));
|
msg->port, chanId, msg->seq, tstrerror(code));
|
||||||
}
|
}
|
||||||
httpDestroyMsg(msg);
|
httpDestroyMsg(msg);
|
||||||
|
@ -937,12 +937,12 @@ int64_t taosInitHttpChan() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void taosDestroyHttpChan(int64_t chanId) {
|
void taosDestroyHttpChan(int64_t chanId) {
|
||||||
tDebug("http-report send quit, chanId: %" PRId64 "", chanId);
|
tDebug("http-report send quit, chanId:%" PRId64, chanId);
|
||||||
|
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
SHttpModule* load = taosAcquireRef(httpRefMgt, chanId);
|
SHttpModule* load = taosAcquireRef(httpRefMgt, chanId);
|
||||||
if (load == NULL) {
|
if (load == NULL) {
|
||||||
tError("http-report failed to destroy chanId %" PRId64 ", reason:%s", chanId, tstrerror(terrno));
|
tError("http-report failed to destroy chanId:%" PRId64 ", reason:%s", chanId, tstrerror(terrno));
|
||||||
ret = terrno;
|
ret = terrno;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -160,7 +160,7 @@ void* rpcMallocCont(int64_t contLen) {
|
||||||
tError("failed to malloc msg, size:%" PRId64, size);
|
tError("failed to malloc msg, size:%" PRId64, size);
|
||||||
return NULL;
|
return NULL;
|
||||||
} else {
|
} else {
|
||||||
tTrace("malloc mem:%p size:%" PRId64, start, size);
|
tTrace("cont:%p, rpc malloc size:%" PRId64, start, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
return start + TRANS_MSG_OVERHEAD;
|
return start + TRANS_MSG_OVERHEAD;
|
||||||
|
|
|
@ -388,7 +388,7 @@ int32_t cliGetConnTimer(SCliThrd* pThrd, SCliConn* pConn) {
|
||||||
tDebug("no available timer, create a timer %p", timer);
|
tDebug("no available timer, create a timer %p", timer);
|
||||||
int ret = uv_timer_init(pThrd->loop, timer);
|
int ret = uv_timer_init(pThrd->loop, timer);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
tError("conn %p failed to init timer %p since %s", pConn, timer, uv_err_name(ret));
|
tError("conn:%p, failed to init timer %p since %s", pConn, timer, uv_err_name(ret));
|
||||||
return TSDB_CODE_THIRDPARTY_ERROR;
|
return TSDB_CODE_THIRDPARTY_ERROR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -400,11 +400,11 @@ void cliResetConnTimer(SCliConn* conn) {
|
||||||
SCliThrd* pThrd = conn->hostThrd;
|
SCliThrd* pThrd = conn->hostThrd;
|
||||||
if (conn->timer) {
|
if (conn->timer) {
|
||||||
if (uv_is_active((uv_handle_t*)conn->timer)) {
|
if (uv_is_active((uv_handle_t*)conn->timer)) {
|
||||||
tDebug("%s conn %p stop timer", CONN_GET_INST_LABEL(conn), conn);
|
tDebug("%s conn:%p, stop timer", CONN_GET_INST_LABEL(conn), conn);
|
||||||
TAOS_UNUSED(uv_timer_stop(conn->timer));
|
TAOS_UNUSED(uv_timer_stop(conn->timer));
|
||||||
}
|
}
|
||||||
if (taosArrayPush(pThrd->timerList, &conn->timer) == NULL) {
|
if (taosArrayPush(pThrd->timerList, &conn->timer) == NULL) {
|
||||||
tError("%s conn %p failed to push timer %p to list since %s", CONN_GET_INST_LABEL(conn), conn, conn->timer,
|
tError("%s conn:%p, failed to push timer %p to list since %s", CONN_GET_INST_LABEL(conn), conn, conn->timer,
|
||||||
tstrerror(terrno));
|
tstrerror(terrno));
|
||||||
}
|
}
|
||||||
conn->timer->data = NULL;
|
conn->timer->data = NULL;
|
||||||
|
@ -435,7 +435,7 @@ void cliConnMayUpdateTimer(SCliConn* conn, int64_t timeout) {
|
||||||
}
|
}
|
||||||
int ret = uv_timer_start(conn->timer, cliConnTimeout__checkReq, timeout, 0);
|
int ret = uv_timer_start(conn->timer, cliConnTimeout__checkReq, timeout, 0);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
tError("%s conn %p failed to start timer %p since %s", CONN_GET_INST_LABEL(conn), conn, conn->timer,
|
tError("%s conn:%p, failed to start timer %p since %s", CONN_GET_INST_LABEL(conn), conn, conn->timer,
|
||||||
uv_err_name(ret));
|
uv_err_name(ret));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -493,7 +493,7 @@ int8_t cliMayRecycleConn(SCliConn* conn) {
|
||||||
SCliThrd* pThrd = conn->hostThrd;
|
SCliThrd* pThrd = conn->hostThrd;
|
||||||
STrans* pInst = pThrd->pInst;
|
STrans* pInst = pThrd->pInst;
|
||||||
|
|
||||||
tTrace("%s conn %p in-process req summary:reqsToSend:%d, reqsSentOut:%d, statusTableSize:%d",
|
tTrace("%s conn:%p, in-process req summary:reqsToSend:%d, reqsSentOut:%d, statusTableSize:%d",
|
||||||
CONN_GET_INST_LABEL(conn), conn, transQueueSize(&conn->reqsToSend), transQueueSize(&conn->reqsSentOut),
|
CONN_GET_INST_LABEL(conn), conn, transQueueSize(&conn->reqsToSend), transQueueSize(&conn->reqsSentOut),
|
||||||
taosHashGetSize(conn->pQTable));
|
taosHashGetSize(conn->pQTable));
|
||||||
|
|
||||||
|
@ -503,14 +503,14 @@ int8_t cliMayRecycleConn(SCliConn* conn) {
|
||||||
conn->forceDelFromHeap = 1;
|
conn->forceDelFromHeap = 1;
|
||||||
code = delConnFromHeapCache(pThrd->connHeapCache, conn);
|
code = delConnFromHeapCache(pThrd->connHeapCache, conn);
|
||||||
if (code == TSDB_CODE_RPC_ASYNC_IN_PROCESS) {
|
if (code == TSDB_CODE_RPC_ASYNC_IN_PROCESS) {
|
||||||
tDebug("%s conn %p failed to remove conn from heap cache since %s", CONN_GET_INST_LABEL(conn), conn,
|
tDebug("%s conn:%p, failed to remove conn from heap cache since %s", CONN_GET_INST_LABEL(conn), conn,
|
||||||
tstrerror(code));
|
tstrerror(code));
|
||||||
|
|
||||||
TAOS_UNUSED(transHeapMayBalance(conn->heap, conn));
|
TAOS_UNUSED(transHeapMayBalance(conn->heap, conn));
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tDebug("%s conn %p failed to remove conn from heap cache since %s", CONN_GET_INST_LABEL(conn), conn,
|
tDebug("%s conn:%p, failed to remove conn from heap cache since %s", CONN_GET_INST_LABEL(conn), conn,
|
||||||
tstrerror(code));
|
tstrerror(code));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -519,10 +519,10 @@ int8_t cliMayRecycleConn(SCliConn* conn) {
|
||||||
return 1;
|
return 1;
|
||||||
} else if ((transQueueSize(&conn->reqsToSend) == 0) && (transQueueSize(&conn->reqsSentOut) == 0) &&
|
} else if ((transQueueSize(&conn->reqsToSend) == 0) && (transQueueSize(&conn->reqsSentOut) == 0) &&
|
||||||
(taosHashGetSize(conn->pQTable) != 0)) {
|
(taosHashGetSize(conn->pQTable) != 0)) {
|
||||||
tDebug("%s conn %p do balance directly", CONN_GET_INST_LABEL(conn), conn);
|
tDebug("%s conn:%p, do balance directly", CONN_GET_INST_LABEL(conn), conn);
|
||||||
TAOS_UNUSED(transHeapMayBalance(conn->heap, conn));
|
TAOS_UNUSED(transHeapMayBalance(conn->heap, conn));
|
||||||
} else {
|
} else {
|
||||||
tTrace("%s conn %p may do balance", CONN_GET_INST_LABEL(conn), conn);
|
tTrace("%s conn:%p, may do balance", CONN_GET_INST_LABEL(conn), conn);
|
||||||
TAOS_UNUSED(transHeapMayBalance(conn->heap, conn));
|
TAOS_UNUSED(transHeapMayBalance(conn->heap, conn));
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -573,12 +573,12 @@ int8_t cliMayNotifyUserOnRecvReleaseExcept(SCliConn* conn, STransMsgHead* pHead,
|
||||||
STraceId* trace = &pHead->traceId;
|
STraceId* trace = &pHead->traceId;
|
||||||
code = cliBuildExceptResp(pThrd, pReq, &resp);
|
code = cliBuildExceptResp(pThrd, pReq, &resp);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tGWarn("%s conn %p failed to build except resp for req:%" PRId64 " since %s", CONN_GET_INST_LABEL(conn), conn, qId,
|
tGWarn("%s conn:%p, failed to build except resp for req:%" PRId64 " since %s", CONN_GET_INST_LABEL(conn), conn, qId,
|
||||||
tstrerror(code));
|
tstrerror(code));
|
||||||
}
|
}
|
||||||
code = cliNotifyCb(conn, NULL, &resp);
|
code = cliNotifyCb(conn, NULL, &resp);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tGWarn("%s conn %p failed to notify user for req:%" PRId64 " since %s", CONN_GET_INST_LABEL(conn), conn, qId,
|
tGWarn("%s conn:%p, failed to notify user for req:%" PRId64 " since %s", CONN_GET_INST_LABEL(conn), conn, qId,
|
||||||
tstrerror(code));
|
tstrerror(code));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -593,7 +593,7 @@ int32_t cliHandleState_mayHandleReleaseResp(SCliConn* conn, STransMsgHead* pHead
|
||||||
int64_t qId = taosHton64(pHead->qid);
|
int64_t qId = taosHton64(pHead->qid);
|
||||||
STraceId* trace = &pHead->traceId;
|
STraceId* trace = &pHead->traceId;
|
||||||
int64_t seqNum = taosHton64(pHead->seqNum);
|
int64_t seqNum = taosHton64(pHead->seqNum);
|
||||||
tGDebug("%s conn %p %s received from %s, local info:%s, len:%d, seqNum:%" PRId64 ", sid:%" PRId64 "",
|
tGDebug("%s conn:%p, %s received from %s, local info:%s, len:%d, seqNum:%" PRId64 ", sid:%" PRId64 "",
|
||||||
CONN_GET_INST_LABEL(conn), conn, TMSG_INFO(pHead->msgType), conn->dst, conn->src, pHead->msgLen, seqNum,
|
CONN_GET_INST_LABEL(conn), conn, TMSG_INFO(pHead->msgType), conn->dst, conn->src, pHead->msgLen, seqNum,
|
||||||
qId);
|
qId);
|
||||||
|
|
||||||
|
@ -602,12 +602,12 @@ int32_t cliHandleState_mayHandleReleaseResp(SCliConn* conn, STransMsgHead* pHead
|
||||||
|
|
||||||
code = taosHashRemove(conn->pQTable, &qId, sizeof(qId));
|
code = taosHashRemove(conn->pQTable, &qId, sizeof(qId));
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tDebug("%s conn %p failed to release req:%" PRId64 " from conn", CONN_GET_INST_LABEL(conn), conn, qId);
|
tDebug("%s conn:%p, failed to release req:%" PRId64 " from conn", CONN_GET_INST_LABEL(conn), conn, qId);
|
||||||
}
|
}
|
||||||
|
|
||||||
code = taosHashRemove(pThrd->pIdConnTable, &qId, sizeof(qId));
|
code = taosHashRemove(pThrd->pIdConnTable, &qId, sizeof(qId));
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tDebug("%s conn %p failed to release req:%" PRId64 " from thrd ", CONN_GET_INST_LABEL(conn), conn, qId);
|
tDebug("%s conn:%p, failed to release req:%" PRId64 " from thrd ", CONN_GET_INST_LABEL(conn), conn, qId);
|
||||||
}
|
}
|
||||||
|
|
||||||
tDebug("%s %p reqToSend:%d, sentOut:%d", CONN_GET_INST_LABEL(conn), conn, transQueueSize(&conn->reqsToSend),
|
tDebug("%s %p reqToSend:%d, sentOut:%d", CONN_GET_INST_LABEL(conn), conn, transQueueSize(&conn->reqsToSend),
|
||||||
|
@ -653,7 +653,7 @@ int32_t cliHandleState_mayCreateAhandle(SCliConn* conn, STransMsgHead* pHead, ST
|
||||||
pCtx->st = taosGetTimestampUs();
|
pCtx->st = taosGetTimestampUs();
|
||||||
STraceId* trace = &pHead->traceId;
|
STraceId* trace = &pHead->traceId;
|
||||||
pResp->info.ahandle = transCtxDumpVal(pCtx, pHead->msgType);
|
pResp->info.ahandle = transCtxDumpVal(pCtx, pHead->msgType);
|
||||||
tGDebug("%s conn %p %s received from %s, local info:%s, sid:%" PRId64 ", create ahandle %p by %s",
|
tGDebug("%s conn:%p, %s received from %s, local info:%s, sid:%" PRId64 ", create ahandle %p by %s",
|
||||||
CONN_GET_INST_LABEL(conn), conn, TMSG_INFO(pHead->msgType), conn->dst, conn->src, qId, pResp->info.ahandle,
|
CONN_GET_INST_LABEL(conn), conn, TMSG_INFO(pHead->msgType), conn->dst, conn->src, qId, pResp->info.ahandle,
|
||||||
TMSG_INFO(pHead->msgType));
|
TMSG_INFO(pHead->msgType));
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -677,17 +677,17 @@ void cliHandleResp(SCliConn* conn) {
|
||||||
int32_t msgLen = transDumpFromBuffer(&conn->readBuf, (char**)&pHead, 0);
|
int32_t msgLen = transDumpFromBuffer(&conn->readBuf, (char**)&pHead, 0);
|
||||||
if (msgLen < 0) {
|
if (msgLen < 0) {
|
||||||
taosMemoryFree(pHead);
|
taosMemoryFree(pHead);
|
||||||
tWarn("%s conn %p recv invalid packet", CONN_GET_INST_LABEL(conn), conn);
|
tWarn("%s conn:%p, recv invalid packet", CONN_GET_INST_LABEL(conn), conn);
|
||||||
// TODO: notify cb
|
// TODO: notify cb
|
||||||
code = pThrd->notifyExceptCb(pThrd, NULL, NULL);
|
code = pThrd->notifyExceptCb(pThrd, NULL, NULL);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tError("%s conn %p failed to notify user since %s", CONN_GET_INST_LABEL(conn), conn, tstrerror(code));
|
tError("%s conn:%p, failed to notify user since %s", CONN_GET_INST_LABEL(conn), conn, tstrerror(code));
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((code = transDecompressMsg((char**)&pHead, &msgLen)) < 0) {
|
if ((code = transDecompressMsg((char**)&pHead, &msgLen)) < 0) {
|
||||||
tDebug("%s conn %p recv invalid packet, failed to decompress", CONN_GET_INST_LABEL(conn), conn);
|
tDebug("%s conn:%p, recv invalid packet, failed to decompress", CONN_GET_INST_LABEL(conn), conn);
|
||||||
// TODO: notify cb
|
// TODO: notify cb
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -712,7 +712,7 @@ void cliHandleResp(SCliConn* conn) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tWarn("%s conn %p recv unexpected packet, msgType:%s, seqNum:%" PRId64 ", sid:%" PRId64
|
tWarn("%s conn:%p, recv unexpected packet, msgType:%s, seqNum:%" PRId64 ", sid:%" PRId64
|
||||||
", the sever may sends repeated response since %s",
|
", the sever may sends repeated response since %s",
|
||||||
CONN_GET_INST_LABEL(conn), conn, TMSG_INFO(pHead->msgType), seq, qId, tstrerror(code));
|
CONN_GET_INST_LABEL(conn), conn, TMSG_INFO(pHead->msgType), seq, qId, tstrerror(code));
|
||||||
// TODO: notify cb
|
// TODO: notify cb
|
||||||
|
@ -725,7 +725,7 @@ void cliHandleResp(SCliConn* conn) {
|
||||||
} else {
|
} else {
|
||||||
code = cliHandleState_mayUpdateStateTime(conn, pReq);
|
code = cliHandleState_mayUpdateStateTime(conn, pReq);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tDebug("%s conn %p failed to update state time sid:%" PRId64 " since %s", CONN_GET_INST_LABEL(conn), conn, qId,
|
tDebug("%s conn:%p, failed to update state time sid:%" PRId64 " since %s", CONN_GET_INST_LABEL(conn), conn, qId,
|
||||||
tstrerror(code));
|
tstrerror(code));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -733,7 +733,7 @@ void cliHandleResp(SCliConn* conn) {
|
||||||
|
|
||||||
code = cliBuildRespFromCont(pReq, &resp, pHead);
|
code = cliBuildRespFromCont(pReq, &resp, pHead);
|
||||||
STraceId* trace = &resp.info.traceId;
|
STraceId* trace = &resp.info.traceId;
|
||||||
tGDebug("%s conn %p %s received from %s, local info:%s, len:%d, seq:%" PRId64 ", sid:%" PRId64 ", code:%s",
|
tGDebug("%s conn:%p, %s received from %s, local info:%s, len:%d, seq:%" PRId64 ", sid:%" PRId64 ", code:%s",
|
||||||
CONN_GET_INST_LABEL(conn), conn, TMSG_INFO(resp.msgType), conn->dst, conn->src, pHead->msgLen, seq, qId,
|
CONN_GET_INST_LABEL(conn), conn, TMSG_INFO(resp.msgType), conn->dst, conn->src, pHead->msgLen, seq, qId,
|
||||||
tstrerror(pHead->code));
|
tstrerror(pHead->code));
|
||||||
code = cliNotifyCb(conn, pReq, &resp);
|
code = cliNotifyCb(conn, pReq, &resp);
|
||||||
|
@ -760,7 +760,7 @@ void cliConnTimeout(uv_timer_t* handle) {
|
||||||
}
|
}
|
||||||
|
|
||||||
cliMayUpdateFqdnCache(pThrd->fqdn2ipCache, conn->dstAddr);
|
cliMayUpdateFqdnCache(pThrd->fqdn2ipCache, conn->dstAddr);
|
||||||
tTrace("%s conn %p failed to connect %s since conn timeout", CONN_GET_INST_LABEL(conn), conn, conn->dstAddr);
|
tTrace("%s conn:%p, failed to connect %s since conn timeout", CONN_GET_INST_LABEL(conn), conn, conn->dstAddr);
|
||||||
TAOS_UNUSED(transUnrefCliHandle(conn));
|
TAOS_UNUSED(transUnrefCliHandle(conn));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -899,7 +899,7 @@ static int32_t cliGetConnFromPool(SCliThrd* pThrd, const char* key, SCliConn** p
|
||||||
transDQCancel(((SCliThrd*)conn->hostThrd)->timeoutQueue, task);
|
transDQCancel(((SCliThrd*)conn->hostThrd)->timeoutQueue, task);
|
||||||
}
|
}
|
||||||
|
|
||||||
tDebug("conn %p get from pool, pool size:%d, dst:%s", conn, conn->list->size, conn->dstAddr);
|
tDebug("conn:%p, get from pool, pool size:%d, dst:%s", conn, conn->list->size, conn->dstAddr);
|
||||||
|
|
||||||
*ppConn = conn;
|
*ppConn = conn;
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -941,7 +941,7 @@ static void addConnToPool(void* pool, SCliConn* conn) {
|
||||||
QUEUE_INIT(&conn->q);
|
QUEUE_INIT(&conn->q);
|
||||||
QUEUE_PUSH(&conn->list->conns, &conn->q);
|
QUEUE_PUSH(&conn->list->conns, &conn->q);
|
||||||
conn->list->size += 1;
|
conn->list->size += 1;
|
||||||
tDebug("conn %p added to pool, pool size: %d, dst: %s", conn, conn->list->size, conn->dstAddr);
|
tDebug("conn:%p, added to pool, pool size:%d, dst:%s", conn, conn->list->size, conn->dstAddr);
|
||||||
|
|
||||||
conn->heapMissHit = 0;
|
conn->heapMissHit = 0;
|
||||||
|
|
||||||
|
@ -961,7 +961,7 @@ static void cliAllocRecvBufferCb(uv_handle_t* handle, size_t suggested_size, uv_
|
||||||
SConnBuffer* pBuf = &conn->readBuf;
|
SConnBuffer* pBuf = &conn->readBuf;
|
||||||
int32_t code = transAllocBuffer(pBuf, buf);
|
int32_t code = transAllocBuffer(pBuf, buf);
|
||||||
if (code < 0) {
|
if (code < 0) {
|
||||||
tError("conn %p failed to alloc buffer, since %s", conn, tstrerror(code));
|
tError("conn:%p, failed to alloc buffer, since %s", conn, tstrerror(code));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
static void cliRecvCb(uv_stream_t* handle, ssize_t nread, const uv_buf_t* buf) {
|
static void cliRecvCb(uv_stream_t* handle, ssize_t nread, const uv_buf_t* buf) {
|
||||||
|
@ -975,14 +975,14 @@ static void cliRecvCb(uv_stream_t* handle, ssize_t nread, const uv_buf_t* buf) {
|
||||||
SCliConn* conn = handle->data;
|
SCliConn* conn = handle->data;
|
||||||
code = transSetReadOption((uv_handle_t*)handle);
|
code = transSetReadOption((uv_handle_t*)handle);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tWarn("%s conn %p failed to set recv opt since %s", CONN_GET_INST_LABEL(conn), conn, tstrerror(code));
|
tWarn("%s conn:%p, failed to set recv opt since %s", CONN_GET_INST_LABEL(conn), conn, tstrerror(code));
|
||||||
}
|
}
|
||||||
|
|
||||||
SConnBuffer* pBuf = &conn->readBuf;
|
SConnBuffer* pBuf = &conn->readBuf;
|
||||||
if (nread > 0) {
|
if (nread > 0) {
|
||||||
pBuf->len += nread;
|
pBuf->len += nread;
|
||||||
while (transReadComplete(pBuf)) {
|
while (transReadComplete(pBuf)) {
|
||||||
tTrace("%s conn %p read complete", CONN_GET_INST_LABEL(conn), conn);
|
tTrace("%s conn:%p, read complete", CONN_GET_INST_LABEL(conn), conn);
|
||||||
if (pBuf->invalid) {
|
if (pBuf->invalid) {
|
||||||
conn->broken = true;
|
conn->broken = true;
|
||||||
TAOS_UNUSED(transUnrefCliHandle(conn));
|
TAOS_UNUSED(transUnrefCliHandle(conn));
|
||||||
|
@ -999,11 +999,11 @@ static void cliRecvCb(uv_stream_t* handle, ssize_t nread, const uv_buf_t* buf) {
|
||||||
// ref http://docs.libuv.org/en/v1.x/stream.html?highlight=uv_read_start#c.uv_read_cb
|
// ref http://docs.libuv.org/en/v1.x/stream.html?highlight=uv_read_start#c.uv_read_cb
|
||||||
// nread might be 0, which does not indicate an error or EOF. This is equivalent to EAGAIN or EWOULDBLOCK under
|
// nread might be 0, which does not indicate an error or EOF. This is equivalent to EAGAIN or EWOULDBLOCK under
|
||||||
// read(2).
|
// read(2).
|
||||||
tTrace("%s conn %p read empty", CONN_GET_INST_LABEL(conn), conn);
|
tTrace("%s conn:%p, read empty", CONN_GET_INST_LABEL(conn), conn);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (nread < 0) {
|
if (nread < 0) {
|
||||||
tDebug("%s conn %p read error:%s, ref:%d", CONN_GET_INST_LABEL(conn), conn, uv_err_name(nread),
|
tDebug("%s conn:%p, read error:%s, ref:%d", CONN_GET_INST_LABEL(conn), conn, uv_err_name(nread),
|
||||||
transGetRefCount(conn));
|
transGetRefCount(conn));
|
||||||
conn->broken = true;
|
conn->broken = true;
|
||||||
TAOS_UNUSED(transUnrefCliHandle(conn));
|
TAOS_UNUSED(transUnrefCliHandle(conn));
|
||||||
|
@ -1136,10 +1136,10 @@ static void cliDestroyAllQidFromThrd(SCliConn* conn) {
|
||||||
|
|
||||||
code = taosHashRemove(pThrd->pIdConnTable, qid, sizeof(*qid));
|
code = taosHashRemove(pThrd->pIdConnTable, qid, sizeof(*qid));
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tDebug("%s conn %p failed to remove state %" PRId64 " since %s", CONN_GET_INST_LABEL(conn), conn, *qid,
|
tDebug("%s conn:%p, failed to remove state %" PRId64 " since %s", CONN_GET_INST_LABEL(conn), conn, *qid,
|
||||||
tstrerror(code));
|
tstrerror(code));
|
||||||
} else {
|
} else {
|
||||||
tDebug("%s conn %p destroy sid::%" PRId64 "", CONN_GET_INST_LABEL(conn), conn, *qid);
|
tDebug("%s conn:%p, destroy sid::%" PRId64 "", CONN_GET_INST_LABEL(conn), conn, *qid);
|
||||||
}
|
}
|
||||||
|
|
||||||
STransCtx* ctx = pIter;
|
STransCtx* ctx = pIter;
|
||||||
|
@ -1163,17 +1163,17 @@ static void cliDestroy(uv_handle_t* handle) {
|
||||||
SCliThrd* pThrd = conn->hostThrd;
|
SCliThrd* pThrd = conn->hostThrd;
|
||||||
cliResetConnTimer(conn);
|
cliResetConnTimer(conn);
|
||||||
|
|
||||||
tDebug("%s conn %p try to destroy", CONN_GET_INST_LABEL(conn), conn);
|
tDebug("%s conn:%p, try to destroy", CONN_GET_INST_LABEL(conn), conn);
|
||||||
|
|
||||||
code = destroyAllReqs(conn);
|
code = destroyAllReqs(conn);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tDebug("%s conn %p failed to all reqs since %s", CONN_GET_INST_LABEL(conn), conn, tstrerror(code));
|
tDebug("%s conn:%p, failed to all reqs since %s", CONN_GET_INST_LABEL(conn), conn, tstrerror(code));
|
||||||
}
|
}
|
||||||
|
|
||||||
conn->forceDelFromHeap = 1;
|
conn->forceDelFromHeap = 1;
|
||||||
code = delConnFromHeapCache(pThrd->connHeapCache, conn);
|
code = delConnFromHeapCache(pThrd->connHeapCache, conn);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tDebug("%s conn %p failed to del conn from heapcach since %s", CONN_GET_INST_LABEL(conn), conn, tstrerror(code));
|
tDebug("%s conn:%p, failed to del conn from heapcach since %s", CONN_GET_INST_LABEL(conn), conn, tstrerror(code));
|
||||||
}
|
}
|
||||||
|
|
||||||
taosMemoryFree(conn->dstAddr);
|
taosMemoryFree(conn->dstAddr);
|
||||||
|
@ -1190,7 +1190,7 @@ static void cliDestroy(uv_handle_t* handle) {
|
||||||
destroyWQ(&conn->wq);
|
destroyWQ(&conn->wq);
|
||||||
transDestroyBuffer(&conn->readBuf);
|
transDestroyBuffer(&conn->readBuf);
|
||||||
|
|
||||||
tTrace("%s conn %p destroy successfully", CONN_GET_INST_LABEL(conn), conn);
|
tTrace("%s conn:%p, destroy successfully", CONN_GET_INST_LABEL(conn), conn);
|
||||||
|
|
||||||
taosMemoryFree(conn);
|
taosMemoryFree(conn);
|
||||||
}
|
}
|
||||||
|
@ -1217,12 +1217,12 @@ static void notifyAndDestroyReq(SCliConn* pConn, SCliReq* pReq, int32_t code) {
|
||||||
}
|
}
|
||||||
|
|
||||||
STraceId* trace = &resp.info.traceId;
|
STraceId* trace = &resp.info.traceId;
|
||||||
tDebug("%s conn %p notify user and destroy msg %s since %s", CONN_GET_INST_LABEL(pConn), pConn,
|
tDebug("%s conn:%p, notify user and destroy msg %s since %s", CONN_GET_INST_LABEL(pConn), pConn,
|
||||||
TMSG_INFO(pReq->msg.msgType), tstrerror(resp.code));
|
TMSG_INFO(pReq->msg.msgType), tstrerror(resp.code));
|
||||||
|
|
||||||
// handle noresp and inter manage msg
|
// handle noresp and inter manage msg
|
||||||
if (pCtx == NULL || REQUEST_NO_RESP(&pReq->msg)) {
|
if (pCtx == NULL || REQUEST_NO_RESP(&pReq->msg)) {
|
||||||
tDebug("%s conn %p destroy %s msg directly since %s", CONN_GET_INST_LABEL(pConn), pConn,
|
tDebug("%s conn:%p, destroy %s msg directly since %s", CONN_GET_INST_LABEL(pConn), pConn,
|
||||||
TMSG_INFO(pReq->msg.msgType), tstrerror(resp.code));
|
TMSG_INFO(pReq->msg.msgType), tstrerror(resp.code));
|
||||||
destroyReq(pReq);
|
destroyReq(pReq);
|
||||||
return;
|
return;
|
||||||
|
@ -1271,7 +1271,7 @@ static void cliHandleException(SCliConn* conn) {
|
||||||
cliResetConnTimer(conn);
|
cliResetConnTimer(conn);
|
||||||
code = destroyAllReqs(conn);
|
code = destroyAllReqs(conn);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tError("%s conn %p failed to destroy all reqs on conn since %s", CONN_GET_INST_LABEL(conn), conn, tstrerror(code));
|
tError("%s conn:%p, failed to destroy all reqs on conn since %s", CONN_GET_INST_LABEL(conn), conn, tstrerror(code));
|
||||||
}
|
}
|
||||||
|
|
||||||
cliDestroyAllQidFromThrd(conn);
|
cliDestroyAllQidFromThrd(conn);
|
||||||
|
@ -1288,13 +1288,13 @@ static void cliHandleException(SCliConn* conn) {
|
||||||
conn->forceDelFromHeap = 1;
|
conn->forceDelFromHeap = 1;
|
||||||
code = delConnFromHeapCache(pThrd->connHeapCache, conn);
|
code = delConnFromHeapCache(pThrd->connHeapCache, conn);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tError("%s conn %p failed to del conn from heapcach since %s", CONN_GET_INST_LABEL(conn), conn, tstrerror(code));
|
tError("%s conn:%p, failed to del conn from heapcach since %s", CONN_GET_INST_LABEL(conn), conn, tstrerror(code));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (conn->registered) {
|
if (conn->registered) {
|
||||||
int8_t ref = transGetRefCount(conn);
|
int8_t ref = transGetRefCount(conn);
|
||||||
if (ref == 0 && !uv_is_closing((uv_handle_t*)conn->stream)) {
|
if (ref == 0 && !uv_is_closing((uv_handle_t*)conn->stream)) {
|
||||||
// tTrace("%s conn %p fd %d,%d,%d,%p uv_closed", CONN_GET_INST_LABEL(conn), conn, conn->stream->u.fd,
|
// tTrace("%s conn:%p, fd %d,%d,%d,%p uv_closed", CONN_GET_INST_LABEL(conn), conn, conn->stream->u.fd,
|
||||||
// conn->stream->io_watcher.fd, conn->stream->accepted_fd, conn->stream->queued_fds);
|
// conn->stream->io_watcher.fd, conn->stream->accepted_fd, conn->stream->queued_fds);
|
||||||
uv_close((uv_handle_t*)conn->stream, cliDestroy);
|
uv_close((uv_handle_t*)conn->stream, cliDestroy);
|
||||||
}
|
}
|
||||||
|
@ -1346,7 +1346,7 @@ static void cliBatchSendCb(uv_write_t* req, int status) {
|
||||||
|
|
||||||
cliConnRmReqs(conn);
|
cliConnRmReqs(conn);
|
||||||
if (status != 0) {
|
if (status != 0) {
|
||||||
tDebug("%s conn %p failed to send msg since %s", CONN_GET_INST_LABEL(conn), conn, uv_err_name(status));
|
tDebug("%s conn:%p, failed to send msg since %s", CONN_GET_INST_LABEL(conn), conn, uv_err_name(status));
|
||||||
TAOS_UNUSED(transUnrefCliHandle(conn));
|
TAOS_UNUSED(transUnrefCliHandle(conn));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1355,7 +1355,7 @@ static void cliBatchSendCb(uv_write_t* req, int status) {
|
||||||
if (conn->readerStart == 0) {
|
if (conn->readerStart == 0) {
|
||||||
code = uv_read_start((uv_stream_t*)conn->stream, cliAllocRecvBufferCb, cliRecvCb);
|
code = uv_read_start((uv_stream_t*)conn->stream, cliAllocRecvBufferCb, cliRecvCb);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tDebug("%s conn %p failed to start read since%s", CONN_GET_INST_LABEL(conn), conn, tstrerror(code));
|
tDebug("%s conn:%p, failed to start read since%s", CONN_GET_INST_LABEL(conn), conn, tstrerror(code));
|
||||||
TAOS_UNUSED(transUnrefCliHandle(conn));
|
TAOS_UNUSED(transUnrefCliHandle(conn));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1365,7 +1365,7 @@ static void cliBatchSendCb(uv_write_t* req, int status) {
|
||||||
if (!cliMayRecycleConn(conn)) {
|
if (!cliMayRecycleConn(conn)) {
|
||||||
code = cliBatchSend(conn, 1);
|
code = cliBatchSend(conn, 1);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tDebug("%s conn %p failed to send msg since %s", CONN_GET_INST_LABEL(conn), conn, tstrerror(code));
|
tDebug("%s conn:%p, failed to send msg since %s", CONN_GET_INST_LABEL(conn), conn, tstrerror(code));
|
||||||
TAOS_UNUSED(transUnrefCliHandle(conn));
|
TAOS_UNUSED(transUnrefCliHandle(conn));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1435,7 +1435,7 @@ int32_t cliBatchSend(SCliConn* pConn, int8_t direct) {
|
||||||
}
|
}
|
||||||
QUEUE_PUSH(&pThrd->batchSendSet, &pConn->batchSendq);
|
QUEUE_PUSH(&pThrd->batchSendSet, &pConn->batchSendq);
|
||||||
pConn->inThreadSendq = 1;
|
pConn->inThreadSendq = 1;
|
||||||
tDebug("%s conn %p batch send later", pInst->label, pConn);
|
tDebug("%s conn:%p, batch send later", pInst->label, pConn);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1443,7 +1443,7 @@ int32_t cliBatchSend(SCliConn* pConn, int8_t direct) {
|
||||||
|
|
||||||
int32_t totalLen = 0;
|
int32_t totalLen = 0;
|
||||||
if (size == 0) {
|
if (size == 0) {
|
||||||
tDebug("%s conn %p not msg to send", pInst->label, pConn);
|
tDebug("%s conn:%p, not msg to send", pInst->label, pConn);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
uv_buf_t* wb = NULL;
|
uv_buf_t* wb = NULL;
|
||||||
|
@ -1520,7 +1520,7 @@ int32_t cliBatchSend(SCliConn* pConn, int8_t direct) {
|
||||||
pCliMsg->sent = 1;
|
pCliMsg->sent = 1;
|
||||||
|
|
||||||
STraceId* trace = &pCliMsg->msg.info.traceId;
|
STraceId* trace = &pCliMsg->msg.info.traceId;
|
||||||
tGDebug("%s conn %p %s is sent to %s, local info:%s, seq:%" PRId64 ", sid:%" PRId64 "", CONN_GET_INST_LABEL(pConn),
|
tGDebug("%s conn:%p, %s is sent to %s, local info:%s, seq:%" PRId64 ", sid:%" PRId64 "", CONN_GET_INST_LABEL(pConn),
|
||||||
pConn, TMSG_INFO(pReq->msgType), pConn->dst, pConn->src, pConn->seq, pReq->info.qId);
|
pConn, TMSG_INFO(pReq->msgType), pConn->dst, pConn->src, pConn->seq, pReq->info.qId);
|
||||||
|
|
||||||
transQueuePush(&pConn->reqsSentOut, &pCliMsg->q);
|
transQueuePush(&pConn->reqsSentOut, &pCliMsg->q);
|
||||||
|
@ -1536,7 +1536,7 @@ int32_t cliBatchSend(SCliConn* pConn, int8_t direct) {
|
||||||
uv_write_t* req = allocWReqFromWQ(&pConn->wq, pConn);
|
uv_write_t* req = allocWReqFromWQ(&pConn->wq, pConn);
|
||||||
|
|
||||||
if (req == NULL) {
|
if (req == NULL) {
|
||||||
tError("%s conn %p failed to send msg since %s", CONN_GET_INST_LABEL(pConn), pConn, tstrerror(terrno));
|
tError("%s conn:%p, failed to send msg since %s", CONN_GET_INST_LABEL(pConn), pConn, tstrerror(terrno));
|
||||||
while (!QUEUE_IS_EMPTY(&reqToSend)) {
|
while (!QUEUE_IS_EMPTY(&reqToSend)) {
|
||||||
queue* h = QUEUE_HEAD(&reqToSend);
|
queue* h = QUEUE_HEAD(&reqToSend);
|
||||||
SCliReq* pCliMsg = QUEUE_DATA(h, SCliReq, sendQ);
|
SCliReq* pCliMsg = QUEUE_DATA(h, SCliReq, sendQ);
|
||||||
|
@ -1550,11 +1550,11 @@ int32_t cliBatchSend(SCliConn* pConn, int8_t direct) {
|
||||||
SWReqsWrapper* pWreq = req->data;
|
SWReqsWrapper* pWreq = req->data;
|
||||||
|
|
||||||
QUEUE_MOVE(&reqToSend, &pWreq->node);
|
QUEUE_MOVE(&reqToSend, &pWreq->node);
|
||||||
tDebug("%s conn %p start to send msg, batch size:%d, len:%d", CONN_GET_INST_LABEL(pConn), pConn, j, totalLen);
|
tDebug("%s conn:%p, start to send msg, batch size:%d, len:%d", CONN_GET_INST_LABEL(pConn), pConn, j, totalLen);
|
||||||
|
|
||||||
int32_t ret = uv_write(req, (uv_stream_t*)pConn->stream, wb, j, cliBatchSendCb);
|
int32_t ret = uv_write(req, (uv_stream_t*)pConn->stream, wb, j, cliBatchSendCb);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
tError("%s conn %p failed to send msg since %s", CONN_GET_INST_LABEL(pConn), pConn, uv_err_name(ret));
|
tError("%s conn:%p, failed to send msg since %s", CONN_GET_INST_LABEL(pConn), pConn, uv_err_name(ret));
|
||||||
while (!QUEUE_IS_EMPTY(&pWreq->node)) {
|
while (!QUEUE_IS_EMPTY(&pWreq->node)) {
|
||||||
queue* h = QUEUE_HEAD(&pWreq->node);
|
queue* h = QUEUE_HEAD(&pWreq->node);
|
||||||
SCliReq* pCliMsg = QUEUE_DATA(h, SCliReq, sendQ);
|
SCliReq* pCliMsg = QUEUE_DATA(h, SCliReq, sendQ);
|
||||||
|
@ -1617,23 +1617,23 @@ static int32_t cliDoConn(SCliThrd* pThrd, SCliConn* conn) {
|
||||||
addr.sin_addr.s_addr = ipaddr;
|
addr.sin_addr.s_addr = ipaddr;
|
||||||
addr.sin_port = (uint16_t)htons(conn->port);
|
addr.sin_port = (uint16_t)htons(conn->port);
|
||||||
|
|
||||||
tTrace("%s conn %p try to connect to %s", pInst->label, conn, conn->dstAddr);
|
tTrace("%s conn:%p, try to connect to %s", pInst->label, conn, conn->dstAddr);
|
||||||
|
|
||||||
int32_t fd = taosCreateSocketWithTimeout(TRANS_CONN_TIMEOUT * 10);
|
int32_t fd = taosCreateSocketWithTimeout(TRANS_CONN_TIMEOUT * 10);
|
||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
TAOS_CHECK_GOTO(terrno, &lino, _exception1);
|
TAOS_CHECK_GOTO(terrno, &lino, _exception1);
|
||||||
}
|
}
|
||||||
|
|
||||||
tTrace("%s conn %p fd %d openend", pInst->label, conn, fd);
|
tTrace("%s conn:%p, fd %d openend", pInst->label, conn, fd);
|
||||||
|
|
||||||
int ret = uv_tcp_open((uv_tcp_t*)conn->stream, fd);
|
int ret = uv_tcp_open((uv_tcp_t*)conn->stream, fd);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
tError("%s conn %p failed to set stream since %s", transLabel(pInst), conn, uv_err_name(ret));
|
tError("%s conn:%p, failed to set stream since %s", transLabel(pInst), conn, uv_err_name(ret));
|
||||||
TAOS_CHECK_GOTO(TSDB_CODE_THIRDPARTY_ERROR, &lino, _exception1);
|
TAOS_CHECK_GOTO(TSDB_CODE_THIRDPARTY_ERROR, &lino, _exception1);
|
||||||
}
|
}
|
||||||
ret = transSetConnOption((uv_tcp_t*)conn->stream, 20);
|
ret = transSetConnOption((uv_tcp_t*)conn->stream, 20);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
tError("%s conn %p failed to set socket opt since %s", transLabel(pInst), conn, uv_err_name(ret));
|
tError("%s conn:%p, failed to set socket opt since %s", transLabel(pInst), conn, uv_err_name(ret));
|
||||||
TAOS_CHECK_GOTO(TSDB_CODE_THIRDPARTY_ERROR, &lino, _exception1);
|
TAOS_CHECK_GOTO(TSDB_CODE_THIRDPARTY_ERROR, &lino, _exception1);
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
@ -1656,19 +1656,19 @@ static int32_t cliDoConn(SCliThrd* pThrd, SCliConn* conn) {
|
||||||
transRefCliHandle(conn);
|
transRefCliHandle(conn);
|
||||||
ret = uv_timer_start(conn->timer, cliConnTimeout, TRANS_CONN_TIMEOUT, 0);
|
ret = uv_timer_start(conn->timer, cliConnTimeout, TRANS_CONN_TIMEOUT, 0);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
tError("%s conn %p failed to start timer since %s", transLabel(pInst), conn, uv_err_name(ret));
|
tError("%s conn:%p, failed to start timer since %s", transLabel(pInst), conn, uv_err_name(ret));
|
||||||
TAOS_CHECK_GOTO(TSDB_CODE_THIRDPARTY_ERROR, &lino, _exception2);
|
TAOS_CHECK_GOTO(TSDB_CODE_THIRDPARTY_ERROR, &lino, _exception2);
|
||||||
}
|
}
|
||||||
return TSDB_CODE_RPC_ASYNC_IN_PROCESS;
|
return TSDB_CODE_RPC_ASYNC_IN_PROCESS;
|
||||||
|
|
||||||
_exception1:
|
_exception1:
|
||||||
tError("%s conn %p failed to do connect since %s", transLabel(pInst), conn, tstrerror(code));
|
tError("%s conn:%p, failed to do connect since %s", transLabel(pInst), conn, tstrerror(code));
|
||||||
cliDestroyConn(conn, true);
|
cliDestroyConn(conn, true);
|
||||||
return code;
|
return code;
|
||||||
|
|
||||||
_exception2:
|
_exception2:
|
||||||
TAOS_UNUSED(transUnrefCliHandle(conn));
|
TAOS_UNUSED(transUnrefCliHandle(conn));
|
||||||
tError("%s conn %p failed to do connect since %s", transLabel(pInst), conn, tstrerror(code));
|
tError("%s conn:%p, failed to do connect since %s", transLabel(pInst), conn, tstrerror(code));
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1738,7 +1738,7 @@ void cliConnCb(uv_connect_t* req, int status) {
|
||||||
STUB_RAND_NETWORK_ERR(status);
|
STUB_RAND_NETWORK_ERR(status);
|
||||||
|
|
||||||
if (status != 0) {
|
if (status != 0) {
|
||||||
tError("%s conn %p failed to connect to %s since %s", CONN_GET_INST_LABEL(pConn), pConn, pConn->dstAddr,
|
tError("%s conn:%p, failed to connect to %s since %s", CONN_GET_INST_LABEL(pConn), pConn, pConn->dstAddr,
|
||||||
uv_strerror(status));
|
uv_strerror(status));
|
||||||
cliMayUpdateFqdnCache(pThrd->fqdn2ipCache, pConn->dstAddr);
|
cliMayUpdateFqdnCache(pThrd->fqdn2ipCache, pConn->dstAddr);
|
||||||
TAOS_UNUSED(transUnrefCliHandle(pConn));
|
TAOS_UNUSED(transUnrefCliHandle(pConn));
|
||||||
|
@ -1747,14 +1747,14 @@ void cliConnCb(uv_connect_t* req, int status) {
|
||||||
pConn->connnected = 1;
|
pConn->connnected = 1;
|
||||||
code = cliConnSetSockInfo(pConn);
|
code = cliConnSetSockInfo(pConn);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tDebug("%s conn %p failed to get sock info since %s", CONN_GET_INST_LABEL(pConn), pConn, tstrerror(code));
|
tDebug("%s conn:%p, failed to get sock info since %s", CONN_GET_INST_LABEL(pConn), pConn, tstrerror(code));
|
||||||
TAOS_UNUSED(transUnrefCliHandle(pConn));
|
TAOS_UNUSED(transUnrefCliHandle(pConn));
|
||||||
}
|
}
|
||||||
tTrace("%s conn %p connect to server successfully", CONN_GET_INST_LABEL(pConn), pConn);
|
tTrace("%s conn:%p, connect to server successfully", CONN_GET_INST_LABEL(pConn), pConn);
|
||||||
|
|
||||||
code = cliBatchSend(pConn, 1);
|
code = cliBatchSend(pConn, 1);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tDebug("%s conn %p failed to get sock info since %s", CONN_GET_INST_LABEL(pConn), pConn, tstrerror(code));
|
tDebug("%s conn:%p, failed to get sock info since %s", CONN_GET_INST_LABEL(pConn), pConn, tstrerror(code));
|
||||||
TAOS_UNUSED(transUnrefCliHandle(pConn));
|
TAOS_UNUSED(transUnrefCliHandle(pConn));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1894,7 +1894,7 @@ static FORCE_INLINE int32_t cliUpdateFqdnCache(SHashObj* cache, char* fqdn) {
|
||||||
char old[TSDB_FQDN_LEN] = {0}, new[TSDB_FQDN_LEN] = {0};
|
char old[TSDB_FQDN_LEN] = {0}, new[TSDB_FQDN_LEN] = {0};
|
||||||
taosInetNtoa(old, *v);
|
taosInetNtoa(old, *v);
|
||||||
taosInetNtoa(new, addr);
|
taosInetNtoa(new, addr);
|
||||||
tWarn("update ip of fqdn:%s, old: %s, new: %s", fqdn, old, new);
|
tWarn("update ip of fqdn:%s, old:%s, new:%s", fqdn, old, new);
|
||||||
code = taosHashPut(cache, fqdn, len, &addr, sizeof(addr));
|
code = taosHashPut(cache, fqdn, len, &addr, sizeof(addr));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -1952,7 +1952,7 @@ int32_t cliHandleState_mayUpdateStateCtx(SCliConn* pConn, SCliReq* pReq) {
|
||||||
SReqCtx* pCtx = pReq->ctx;
|
SReqCtx* pCtx = pReq->ctx;
|
||||||
SCliThrd* pThrd = pConn->hostThrd;
|
SCliThrd* pThrd = pConn->hostThrd;
|
||||||
if (pCtx == NULL) {
|
if (pCtx == NULL) {
|
||||||
tDebug("%s conn %p not need to update statue ctx, sid:%" PRId64 "", transLabel(pThrd->pInst), pConn, qid);
|
tDebug("%s conn:%p, not need to update statue ctx, sid:%" PRId64 "", transLabel(pThrd->pInst), pConn, qid);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1960,11 +1960,11 @@ int32_t cliHandleState_mayUpdateStateCtx(SCliConn* pConn, SCliReq* pReq) {
|
||||||
if (pUserCtx == NULL) {
|
if (pUserCtx == NULL) {
|
||||||
pCtx->userCtx.st = taosGetTimestampUs();
|
pCtx->userCtx.st = taosGetTimestampUs();
|
||||||
code = taosHashPut(pConn->pQTable, &qid, sizeof(qid), &pCtx->userCtx, sizeof(pCtx->userCtx));
|
code = taosHashPut(pConn->pQTable, &qid, sizeof(qid), &pCtx->userCtx, sizeof(pCtx->userCtx));
|
||||||
tDebug("%s conn %p succ to add statue ctx, sid:%" PRId64 "", transLabel(pThrd->pInst), pConn, qid);
|
tDebug("%s conn:%p, succ to add statue ctx, sid:%" PRId64 "", transLabel(pThrd->pInst), pConn, qid);
|
||||||
} else {
|
} else {
|
||||||
transCtxMerge(pUserCtx, &pCtx->userCtx);
|
transCtxMerge(pUserCtx, &pCtx->userCtx);
|
||||||
pUserCtx->st = taosGetTimestampUs();
|
pUserCtx->st = taosGetTimestampUs();
|
||||||
tDebug("%s conn %p succ to update statue ctx, sid:%" PRId64 "", transLabel(pThrd->pInst), pConn, qid);
|
tDebug("%s conn:%p, succ to update statue ctx, sid:%" PRId64 "", transLabel(pThrd->pInst), pConn, qid);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1987,12 +1987,12 @@ int32_t cliMayGetStateByQid(SCliThrd* pThrd, SCliReq* pReq, SCliConn** pConn) {
|
||||||
transReleaseExHandle(transGetRefMgt(), qid);
|
transReleaseExHandle(transGetRefMgt(), qid);
|
||||||
return TSDB_CODE_RPC_STATE_DROPED;
|
return TSDB_CODE_RPC_STATE_DROPED;
|
||||||
}
|
}
|
||||||
tDebug("%s conn %p failed to get statue, sid:%" PRId64 "", transLabel(pThrd->pInst), pConn, qid);
|
tDebug("%s conn:%p, failed to get statue, sid:%" PRId64 "", transLabel(pThrd->pInst), pConn, qid);
|
||||||
transReleaseExHandle(transGetRefMgt(), qid);
|
transReleaseExHandle(transGetRefMgt(), qid);
|
||||||
return TSDB_CODE_RPC_ASYNC_IN_PROCESS;
|
return TSDB_CODE_RPC_ASYNC_IN_PROCESS;
|
||||||
} else {
|
} else {
|
||||||
*pConn = pState->conn;
|
*pConn = pState->conn;
|
||||||
tDebug("%s conn %p succ to get conn of statue, sid:%" PRId64 "", transLabel(pThrd->pInst), pConn, qid);
|
tDebug("%s conn:%p, succ to get conn of statue, sid:%" PRId64 "", transLabel(pThrd->pInst), pConn, qid);
|
||||||
}
|
}
|
||||||
transReleaseExHandle(transGetRefMgt(), qid);
|
transReleaseExHandle(transGetRefMgt(), qid);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2010,10 +2010,10 @@ int32_t cliHandleState_mayUpdateState(SCliConn* pConn, SCliReq* pReq) {
|
||||||
SReqState state = {.conn = pConn, .arg = NULL};
|
SReqState state = {.conn = pConn, .arg = NULL};
|
||||||
code = taosHashPut(pThrd->pIdConnTable, &qid, sizeof(qid), &state, sizeof(state));
|
code = taosHashPut(pThrd->pIdConnTable, &qid, sizeof(qid), &state, sizeof(state));
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tDebug("%s conn %p failed to statue, sid:%" PRId64 " since %s", transLabel(pThrd->pInst), pConn, qid,
|
tDebug("%s conn:%p, failed to statue, sid:%" PRId64 " since %s", transLabel(pThrd->pInst), pConn, qid,
|
||||||
tstrerror(code));
|
tstrerror(code));
|
||||||
} else {
|
} else {
|
||||||
tDebug("%s conn %p succ to add statue, sid:%" PRId64 " (1)", transLabel(pThrd->pInst), pConn, qid);
|
tDebug("%s conn:%p, succ to add statue, sid:%" PRId64 " (1)", transLabel(pThrd->pInst), pConn, qid);
|
||||||
}
|
}
|
||||||
|
|
||||||
TAOS_UNUSED(cliHandleState_mayUpdateStateCtx(pConn, pReq));
|
TAOS_UNUSED(cliHandleState_mayUpdateStateCtx(pConn, pReq));
|
||||||
|
@ -2050,7 +2050,7 @@ void cliHandleBatchReq(SCliThrd* pThrd, SCliReq* pReq) {
|
||||||
} else if (code == 0) {
|
} else if (code == 0) {
|
||||||
code = addConnToHeapCache(pThrd->connHeapCache, pConn);
|
code = addConnToHeapCache(pThrd->connHeapCache, pConn);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tWarn("%s conn %p failed to added to heap cache since %s", pInst->label, pConn, tstrerror(code));
|
tWarn("%s conn:%p, failed to added to heap cache since %s", pInst->label, pConn, tstrerror(code));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (code == TSDB_CODE_OUT_OF_MEMORY && pConn == NULL) {
|
if (code == TSDB_CODE_OUT_OF_MEMORY && pConn == NULL) {
|
||||||
|
@ -2063,11 +2063,11 @@ void cliHandleBatchReq(SCliThrd* pThrd, SCliReq* pReq) {
|
||||||
}
|
}
|
||||||
code = cliSendReq(pConn, pReq);
|
code = cliSendReq(pConn, pReq);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tWarn("%s conn %p failed to send req since %s", pInst->label, pConn, tstrerror(code));
|
tWarn("%s conn:%p, failed to send req since %s", pInst->label, pConn, tstrerror(code));
|
||||||
TAOS_UNUSED(transUnrefCliHandle(pConn));
|
TAOS_UNUSED(transUnrefCliHandle(pConn));
|
||||||
}
|
}
|
||||||
|
|
||||||
tTrace("%s conn %p ready", pInst->label, pConn);
|
tTrace("%s conn:%p, ready", pInst->label, pConn);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
_exception:
|
_exception:
|
||||||
|
@ -2110,7 +2110,7 @@ static void cliDoReq(queue* wq, SCliThrd* pThrd) {
|
||||||
QUEUE_INIT(&conn->batchSendq);
|
QUEUE_INIT(&conn->batchSendq);
|
||||||
code = cliBatchSend(conn, 1);
|
code = cliBatchSend(conn, 1);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tWarn("%s conn %p failed to send req since %s", pThrd->pInst->label, conn, tstrerror(code));
|
tWarn("%s conn:%p, failed to send req since %s", pThrd->pInst->label, conn, tstrerror(code));
|
||||||
TAOS_UNUSED(transUnrefCliHandle(conn));
|
TAOS_UNUSED(transUnrefCliHandle(conn));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2160,7 +2160,7 @@ static FORCE_INLINE void destroyReq(void* arg) {
|
||||||
|
|
||||||
removeReqFromSendQ(pReq);
|
removeReqFromSendQ(pReq);
|
||||||
STraceId* trace = &pReq->msg.info.traceId;
|
STraceId* trace = &pReq->msg.info.traceId;
|
||||||
tGDebug("free memory:%p, free ctx: %p", pReq, pReq->ctx);
|
tGTrace("free mem:%p, free ctx:%p", pReq, pReq->ctx);
|
||||||
|
|
||||||
if (pReq->ctx) {
|
if (pReq->ctx) {
|
||||||
destroyReqCtx(pReq->ctx);
|
destroyReqCtx(pReq->ctx);
|
||||||
|
@ -2517,7 +2517,7 @@ static FORCE_INLINE void doDelayTask(void* param) {
|
||||||
static FORCE_INLINE void doCloseIdleConn(void* param) {
|
static FORCE_INLINE void doCloseIdleConn(void* param) {
|
||||||
STaskArg* arg = param;
|
STaskArg* arg = param;
|
||||||
SCliConn* conn = arg->param1;
|
SCliConn* conn = arg->param1;
|
||||||
tDebug("%s conn %p idle, close it", CONN_GET_INST_LABEL(conn), conn);
|
tDebug("%s conn:%p, idle, close it", CONN_GET_INST_LABEL(conn), conn);
|
||||||
conn->task = NULL;
|
conn->task = NULL;
|
||||||
taosMemoryFree(arg);
|
taosMemoryFree(arg);
|
||||||
|
|
||||||
|
@ -2541,7 +2541,7 @@ static FORCE_INLINE void cliPerfLog_schedMsg(SCliReq* pReq, char* label) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
tGDebug("%s retry on next node,use:%s, step: %d,timeout:%" PRId64 "", label, tbuf, pCtx->retryStep,
|
tGDebug("%s retry on next node,use:%s, step:%d,timeout:%" PRId64, label, tbuf, pCtx->retryStep,
|
||||||
pCtx->retryNextInterval);
|
pCtx->retryNextInterval);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -2559,7 +2559,7 @@ static FORCE_INLINE void cliPerfLog_epset(SCliConn* pConn, SCliReq* pReq) {
|
||||||
tWarn("failed to debug epset since %s", tstrerror(code));
|
tWarn("failed to debug epset since %s", tstrerror(code));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
tTrace("%s conn %p extract epset from msg", CONN_GET_INST_LABEL(pConn), pConn);
|
tTrace("%s conn:%p, extract epset from msg", CONN_GET_INST_LABEL(pConn), pConn);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2846,10 +2846,10 @@ int32_t cliNotifyImplCb(SCliConn* pConn, SCliReq* pReq, STransMsg* pResp) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (pCtx->pSem || pCtx->syncMsgRef != 0) {
|
if (pCtx->pSem || pCtx->syncMsgRef != 0) {
|
||||||
tGTrace("%s conn %p(sync) handle resp", CONN_GET_INST_LABEL(pConn), pConn);
|
tGTrace("%s conn:%p(sync) handle resp", CONN_GET_INST_LABEL(pConn), pConn);
|
||||||
if (pCtx->pSem) {
|
if (pCtx->pSem) {
|
||||||
if (pCtx->pRsp == NULL) {
|
if (pCtx->pRsp == NULL) {
|
||||||
tGTrace("%s conn %p(sync) failed to resp, ignore", CONN_GET_INST_LABEL(pConn), pConn);
|
tGTrace("%s conn:%p(sync) failed to resp, ignore", CONN_GET_INST_LABEL(pConn), pConn);
|
||||||
} else {
|
} else {
|
||||||
memcpy((char*)pCtx->pRsp, (char*)pResp, sizeof(*pResp));
|
memcpy((char*)pCtx->pRsp, (char*)pResp, sizeof(*pResp));
|
||||||
}
|
}
|
||||||
|
@ -2875,7 +2875,7 @@ int32_t cliNotifyImplCb(SCliConn* pConn, SCliReq* pReq, STransMsg* pResp) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
tGTrace("%s conn %p handle resp", CONN_GET_INST_LABEL(pConn), pConn);
|
tGTrace("%s conn:%p, handle resp", CONN_GET_INST_LABEL(pConn), pConn);
|
||||||
if (pResp->info.hasEpSet == 1) {
|
if (pResp->info.hasEpSet == 1) {
|
||||||
SEpSet epset = {0};
|
SEpSet epset = {0};
|
||||||
if (transCreateUserEpsetFromReqEpset(pCtx->epSet, &epset) != 0) {
|
if (transCreateUserEpsetFromReqEpset(pCtx->epSet, &epset) != 0) {
|
||||||
|
@ -2938,7 +2938,7 @@ void transRefCliHandle(void* handle) {
|
||||||
SCliConn* conn = (SCliConn*)handle;
|
SCliConn* conn = (SCliConn*)handle;
|
||||||
conn->ref++;
|
conn->ref++;
|
||||||
|
|
||||||
tTrace("%s conn %p ref %d", CONN_GET_INST_LABEL(conn), conn, conn->ref);
|
tTrace("%s conn:%p, ref:%d", CONN_GET_INST_LABEL(conn), conn, conn->ref);
|
||||||
}
|
}
|
||||||
int32_t transUnrefCliHandle(void* handle) {
|
int32_t transUnrefCliHandle(void* handle) {
|
||||||
if (handle == NULL) {
|
if (handle == NULL) {
|
||||||
|
@ -2949,7 +2949,7 @@ int32_t transUnrefCliHandle(void* handle) {
|
||||||
conn->ref--;
|
conn->ref--;
|
||||||
ref = conn->ref;
|
ref = conn->ref;
|
||||||
|
|
||||||
tTrace("%s conn %p ref:%d", CONN_GET_INST_LABEL(conn), conn, conn->ref);
|
tTrace("%s conn:%p, ref:%d", CONN_GET_INST_LABEL(conn), conn, conn->ref);
|
||||||
if (conn->ref == 0) {
|
if (conn->ref == 0) {
|
||||||
cliDestroyConn(conn, true);
|
cliDestroyConn(conn, true);
|
||||||
}
|
}
|
||||||
|
@ -3023,7 +3023,7 @@ int32_t transReleaseCliHandle(void* handle, int32_t status) {
|
||||||
cmsg->ctx = pCtx;
|
cmsg->ctx = pCtx;
|
||||||
|
|
||||||
STraceId* trace = &tmsg.info.traceId;
|
STraceId* trace = &tmsg.info.traceId;
|
||||||
tGDebug("send release request at thread:%08" PRId64 ", malloc memory:%p", pThrd->pid, cmsg);
|
tGDebug("send release request at thread:%08" PRId64 ", malloc mem:%p", pThrd->pid, cmsg);
|
||||||
|
|
||||||
if ((code = transAsyncSend(pThrd->asyncPool, &cmsg->q)) != 0) {
|
if ((code = transAsyncSend(pThrd->asyncPool, &cmsg->q)) != 0) {
|
||||||
destroyReq(cmsg);
|
destroyReq(cmsg);
|
||||||
|
@ -3615,7 +3615,7 @@ static void cliConnRemoveTimoutQidMsg(SCliConn* pConn, int64_t* st, queue* set)
|
||||||
if (((*st - pCtx->st) / 1000000) >= pInst->readTimeout) {
|
if (((*st - pCtx->st) / 1000000) >= pInst->readTimeout) {
|
||||||
code = taosHashRemove(pThrd->pIdConnTable, qid, sizeof(*qid));
|
code = taosHashRemove(pThrd->pIdConnTable, qid, sizeof(*qid));
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tError("%s conn %p failed to remove state sid:%" PRId64 " since %s", CONN_GET_INST_LABEL(pConn), pConn, *qid,
|
tError("%s conn:%p, failed to remove state sid:%" PRId64 " since %s", CONN_GET_INST_LABEL(pConn), pConn, *qid,
|
||||||
tstrerror(code));
|
tstrerror(code));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3624,11 +3624,11 @@ static void cliConnRemoveTimoutQidMsg(SCliConn* pConn, int64_t* st, queue* set)
|
||||||
|
|
||||||
if (taosArrayPush(pQIdBuf, qid) == NULL) {
|
if (taosArrayPush(pQIdBuf, qid) == NULL) {
|
||||||
code = terrno;
|
code = terrno;
|
||||||
tError("%s conn %p failed to add sid:%" PRId64 " since %s", CONN_GET_INST_LABEL(pConn), pConn, *qid,
|
tError("%s conn:%p, failed to add sid:%" PRId64 " since %s", CONN_GET_INST_LABEL(pConn), pConn, *qid,
|
||||||
tstrerror(code));
|
tstrerror(code));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
tWarn("%s conn %p remove timeout msg sid:%" PRId64 "", CONN_GET_INST_LABEL(pConn), pConn, *qid);
|
tWarn("%s conn:%p, remove timeout msg sid:%" PRId64 "", CONN_GET_INST_LABEL(pConn), pConn, *qid);
|
||||||
}
|
}
|
||||||
pIter = taosHashIterate(pConn->pQTable, pIter);
|
pIter = taosHashIterate(pConn->pQTable, pIter);
|
||||||
}
|
}
|
||||||
|
@ -3642,7 +3642,7 @@ static void cliConnRemoveTimoutQidMsg(SCliConn* pConn, int64_t* st, queue* set)
|
||||||
transCtxCleanup(p);
|
transCtxCleanup(p);
|
||||||
code = taosHashRemove(pConn->pQTable, qid, sizeof(*qid));
|
code = taosHashRemove(pConn->pQTable, qid, sizeof(*qid));
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tError("%s conn %p failed to drop ctx of sid:%" PRId64 " since %s", CONN_GET_INST_LABEL(pConn), pConn, *qid,
|
tError("%s conn:%p, failed to drop ctx of sid:%" PRId64 " since %s", CONN_GET_INST_LABEL(pConn), pConn, *qid,
|
||||||
tstrerror(code));
|
tstrerror(code));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3674,7 +3674,7 @@ static int8_t cliConnRemoveTimeoutMsg(SCliConn* pConn) {
|
||||||
if (QUEUE_IS_EMPTY(&set)) {
|
if (QUEUE_IS_EMPTY(&set)) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
tWarn("%s conn %p do remove timeout msg", pInst->label, pConn);
|
tWarn("%s conn:%p, do remove timeout msg", pInst->label, pConn);
|
||||||
destroyReqInQueue(pConn, &set, TSDB_CODE_RPC_TIMEOUT);
|
destroyReqInQueue(pConn, &set, TSDB_CODE_RPC_TIMEOUT);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -3682,7 +3682,7 @@ static FORCE_INLINE int8_t shouldSWitchToOtherConn(SCliConn* pConn, char* key) {
|
||||||
SCliThrd* pThrd = pConn->hostThrd;
|
SCliThrd* pThrd = pConn->hostThrd;
|
||||||
STrans* pInst = pThrd->pInst;
|
STrans* pInst = pThrd->pInst;
|
||||||
|
|
||||||
tDebug("get conn %p from heap cache for key:%s, status:%d, refCnt:%d", pConn, key, pConn->inHeap, pConn->reqRefCnt);
|
tDebug("get conn:%p from heap cache for key:%s, status:%d, refCnt:%d", pConn, key, pConn->inHeap, pConn->reqRefCnt);
|
||||||
int32_t reqsNum = transQueueSize(&pConn->reqsToSend);
|
int32_t reqsNum = transQueueSize(&pConn->reqsToSend);
|
||||||
int32_t reqsSentOut = transQueueSize(&pConn->reqsSentOut);
|
int32_t reqsSentOut = transQueueSize(&pConn->reqsSentOut);
|
||||||
int32_t stateNum = taosHashGetSize(pConn->pQTable);
|
int32_t stateNum = taosHashGetSize(pConn->pQTable);
|
||||||
|
@ -3694,14 +3694,14 @@ static FORCE_INLINE int8_t shouldSWitchToOtherConn(SCliConn* pConn, char* key) {
|
||||||
if (pConn->list == NULL && pConn->dstAddr != NULL) {
|
if (pConn->list == NULL && pConn->dstAddr != NULL) {
|
||||||
pConn->list = taosHashGet((SHashObj*)pThrd->pool, pConn->dstAddr, strlen(pConn->dstAddr));
|
pConn->list = taosHashGet((SHashObj*)pThrd->pool, pConn->dstAddr, strlen(pConn->dstAddr));
|
||||||
if (pConn->list != NULL) {
|
if (pConn->list != NULL) {
|
||||||
tTrace("conn %p get list %p from pool for key:%s", pConn, pConn->list, key);
|
tTrace("conn:%p, get list %p from pool for key:%s", pConn, pConn->list, key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (pConn->list && pConn->list->totalSize >= pInst->connLimitNum / 4) {
|
if (pConn->list && pConn->list->totalSize >= pInst->connLimitNum / 4) {
|
||||||
tWarn("%s conn %p try to remove timeout msg since too many conn created", transLabel(pInst), pConn);
|
tWarn("%s conn:%p, try to remove timeout msg since too many conn created", transLabel(pInst), pConn);
|
||||||
|
|
||||||
if (cliConnRemoveTimeoutMsg(pConn)) {
|
if (cliConnRemoveTimeoutMsg(pConn)) {
|
||||||
tWarn("%s conn %p succ to remove timeout msg", transLabel(pInst), pConn);
|
tWarn("%s conn:%p, succ to remove timeout msg", transLabel(pInst), pConn);
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -3724,7 +3724,7 @@ static FORCE_INLINE void logConnMissHit(SCliConn* pConn) {
|
||||||
SCliThrd* pThrd = pConn->hostThrd;
|
SCliThrd* pThrd = pConn->hostThrd;
|
||||||
STrans* pInst = pThrd->pInst;
|
STrans* pInst = pThrd->pInst;
|
||||||
pConn->heapMissHit++;
|
pConn->heapMissHit++;
|
||||||
tDebug("conn %p has %d reqs, %d sentout and %d status in process, total limit:%d, switch to other conn", pConn,
|
tDebug("conn:%p, has %d reqs, %d sentout and %d status in process, total limit:%d, switch to other conn", pConn,
|
||||||
transQueueSize(&pConn->reqsToSend), transQueueSize(&pConn->reqsSentOut), taosHashGetSize(pConn->pQTable),
|
transQueueSize(&pConn->reqsToSend), transQueueSize(&pConn->reqsSentOut), taosHashGetSize(pConn->pQTable),
|
||||||
pInst->shareConnLimit);
|
pInst->shareConnLimit);
|
||||||
// if (transQueueSize(&pConn->reqsSentOut) >= pInst->shareConnLimit) {
|
// if (transQueueSize(&pConn->reqsSentOut) >= pInst->shareConnLimit) {
|
||||||
|
@ -3745,12 +3745,12 @@ static SCliConn* getConnFromHeapCache(SHashObj* pConnHeapCache, char* key) {
|
||||||
tTrace("failed to get conn from heap cache for key:%s", key);
|
tTrace("failed to get conn from heap cache for key:%s", key);
|
||||||
return NULL;
|
return NULL;
|
||||||
} else {
|
} else {
|
||||||
tTrace("conn %p get conn from heap cache for key:%s", pConn, key);
|
tTrace("conn:%p, get conn from heap cache for key:%s", pConn, key);
|
||||||
if (shouldSWitchToOtherConn(pConn, key)) {
|
if (shouldSWitchToOtherConn(pConn, key)) {
|
||||||
SCliConn* pNewConn = NULL;
|
SCliConn* pNewConn = NULL;
|
||||||
code = balanceConnHeapCache(pConnHeapCache, pConn, &pNewConn);
|
code = balanceConnHeapCache(pConnHeapCache, pConn, &pNewConn);
|
||||||
if (code == 1) {
|
if (code == 1) {
|
||||||
tTrace("conn %p start to handle reqs", pNewConn);
|
tTrace("conn:%p, start to handle reqs", pNewConn);
|
||||||
return pNewConn;
|
return pNewConn;
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -3765,7 +3765,7 @@ static int32_t addConnToHeapCache(SHashObj* pConnHeapCacahe, SCliConn* pConn) {
|
||||||
|
|
||||||
if (pConn->heap != NULL) {
|
if (pConn->heap != NULL) {
|
||||||
p = pConn->heap;
|
p = pConn->heap;
|
||||||
tTrace("conn %p add to heap cache for key:%s,status:%d, refCnt:%d, add direct", pConn, pConn->dstAddr,
|
tTrace("conn:%p, add to heap cache for key:%s, status:%d, refCnt:%d, add direct", pConn, pConn->dstAddr,
|
||||||
pConn->inHeap, pConn->reqRefCnt);
|
pConn->inHeap, pConn->reqRefCnt);
|
||||||
} else {
|
} else {
|
||||||
code = getOrCreateHeap(pConnHeapCacahe, pConn->dstAddr, &p);
|
code = getOrCreateHeap(pConnHeapCacahe, pConn->dstAddr, &p);
|
||||||
|
@ -3781,14 +3781,14 @@ static int32_t addConnToHeapCache(SHashObj* pConnHeapCacahe, SCliConn* pConn) {
|
||||||
}
|
}
|
||||||
|
|
||||||
code = transHeapInsert(p, pConn);
|
code = transHeapInsert(p, pConn);
|
||||||
tTrace("conn %p add to heap cache for key:%s,status:%d, refCnt:%d", pConn, pConn->dstAddr, pConn->inHeap,
|
tTrace("conn:%p, add to heap cache for key:%s, status:%d, refCnt:%d", pConn, pConn->dstAddr, pConn->inHeap,
|
||||||
pConn->reqRefCnt);
|
pConn->reqRefCnt);
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t delConnFromHeapCache(SHashObj* pConnHeapCache, SCliConn* pConn) {
|
static int32_t delConnFromHeapCache(SHashObj* pConnHeapCache, SCliConn* pConn) {
|
||||||
if (pConn->heap != NULL) {
|
if (pConn->heap != NULL) {
|
||||||
tTrace("conn %p try to delete from heap cache direct", pConn);
|
tTrace("conn:%p, try to delete from heap cache direct", pConn);
|
||||||
return transHeapDelete(pConn->heap, pConn);
|
return transHeapDelete(pConn->heap, pConn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3799,7 +3799,7 @@ static int32_t delConnFromHeapCache(SHashObj* pConnHeapCache, SCliConn* pConn) {
|
||||||
}
|
}
|
||||||
int32_t code = transHeapDelete(p, pConn);
|
int32_t code = transHeapDelete(p, pConn);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tTrace("conn %p failed delete from heap cache since %s", pConn, tstrerror(code));
|
tTrace("conn:%p, failed delete from heap cache since %s", pConn, tstrerror(code));
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
@ -3864,7 +3864,7 @@ int32_t transHeapInsert(SHeap* heap, SCliConn* p) {
|
||||||
// impl later
|
// impl later
|
||||||
p->reqRefCnt++;
|
p->reqRefCnt++;
|
||||||
if (p->inHeap == 1) {
|
if (p->inHeap == 1) {
|
||||||
tTrace("failed to insert conn %p since already in heap", p);
|
tTrace("failed to insert conn:%p since already in heap", p);
|
||||||
return TSDB_CODE_DUP_KEY;
|
return TSDB_CODE_DUP_KEY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3881,12 +3881,12 @@ int32_t transHeapDelete(SHeap* heap, SCliConn* p) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p->inHeap == 0) {
|
if (p->inHeap == 0) {
|
||||||
tTrace("failed to del conn %p since not in heap", p);
|
tTrace("failed to del conn:%p since not in heap", p);
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
int64_t now = taosGetTimestampMs();
|
int64_t now = taosGetTimestampMs();
|
||||||
if (p->forceDelFromHeap == 0 && now - p->lastAddHeapTime < 10000) {
|
if (p->forceDelFromHeap == 0 && now - p->lastAddHeapTime < 10000) {
|
||||||
tTrace("conn %p not added/delete to heap frequently", p);
|
tTrace("conn:%p, not added/delete to heap frequently", p);
|
||||||
return TSDB_CODE_RPC_ASYNC_IN_PROCESS;
|
return TSDB_CODE_RPC_ASYNC_IN_PROCESS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3895,11 +3895,11 @@ int32_t transHeapDelete(SHeap* heap, SCliConn* p) {
|
||||||
p->reqRefCnt--;
|
p->reqRefCnt--;
|
||||||
if (p->reqRefCnt == 0) {
|
if (p->reqRefCnt == 0) {
|
||||||
heapRemove(heap->heap, &p->node);
|
heapRemove(heap->heap, &p->node);
|
||||||
tTrace("conn %p delete from heap", p);
|
tTrace("conn:%p, delete from heap", p);
|
||||||
} else if (p->reqRefCnt < 0) {
|
} else if (p->reqRefCnt < 0) {
|
||||||
tTrace("conn %p has %d reqs, not delete from heap,assert", p, p->reqRefCnt);
|
tTrace("conn:%p, has %d reqs, not delete from heap,assert", p, p->reqRefCnt);
|
||||||
} else {
|
} else {
|
||||||
tTrace("conn %p has %d reqs, not delete from heap", p, p->reqRefCnt);
|
tTrace("conn:%p, has %d reqs, not delete from heap", p, p->reqRefCnt);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -126,7 +126,7 @@ void transFreeMsg(void* msg) {
|
||||||
if (msg == NULL) {
|
if (msg == NULL) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
tTrace("rpc free cont:%p", (char*)msg - TRANS_MSG_OVERHEAD);
|
tTrace("cont:%p, rpc free", (char*)msg - TRANS_MSG_OVERHEAD);
|
||||||
taosMemoryFree((char*)msg - sizeof(STransMsgHead));
|
taosMemoryFree((char*)msg - sizeof(STransMsgHead));
|
||||||
}
|
}
|
||||||
void transSockInfo2Str(struct sockaddr* sockname, char* dst) {
|
void transSockInfo2Str(struct sockaddr* sockname, char* dst) {
|
||||||
|
@ -836,7 +836,7 @@ int32_t subnetInit(SubnetUtils* pUtils, SIpV4Range* pRange) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
int32_t subnetDebugInfoToBuf(SubnetUtils* pUtils, char* buf) {
|
int32_t subnetDebugInfoToBuf(SubnetUtils* pUtils, char* buf) {
|
||||||
sprintf(buf, "raw: %s, address: %d, netmask:%d, network:%d, broadcast:%d", pUtils->info, pUtils->address,
|
sprintf(buf, "raw:%s, address:%d, netmask:%d, network:%d, broadcast:%d", pUtils->info, pUtils->address,
|
||||||
pUtils->netmask, pUtils->network, pUtils->broadcast);
|
pUtils->netmask, pUtils->network, pUtils->broadcast);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -215,7 +215,7 @@ void uvAllocRecvBufferCb(uv_handle_t* handle, size_t suggested_size, uv_buf_t* b
|
||||||
SConnBuffer* pBuf = &conn->readBuf;
|
SConnBuffer* pBuf = &conn->readBuf;
|
||||||
int32_t code = transAllocBuffer(pBuf, buf);
|
int32_t code = transAllocBuffer(pBuf, buf);
|
||||||
if (code < 0) {
|
if (code < 0) {
|
||||||
tError("conn %p failed to alloc buffer, since %s", conn, tstrerror(code));
|
tError("conn:%p, failed to alloc buffer, since %s", conn, tstrerror(code));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -274,7 +274,7 @@ int32_t uvWhiteListToStr(SWhiteUserList* plist, char* user, char** ppBuf) {
|
||||||
return terrno;
|
return terrno;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t len = sprintf(pBuf, "user: %s, ver: %" PRId64 ", ip: {%s}", user, plist->ver, tmp);
|
int32_t len = sprintf(pBuf, "user:%s, ver:%" PRId64 ", ip:{%s}", user, plist->ver, tmp);
|
||||||
taosMemoryFree(tmp);
|
taosMemoryFree(tmp);
|
||||||
|
|
||||||
*ppBuf = pBuf;
|
*ppBuf = pBuf;
|
||||||
|
@ -393,24 +393,24 @@ static void uvPerfLog_receive(SSvrConn* pConn, STransMsgHead* pHead, STransMsg*
|
||||||
|
|
||||||
if (pConn->status == ConnNormal && pHead->noResp == 0) {
|
if (pConn->status == ConnNormal && pHead->noResp == 0) {
|
||||||
if (cost >= EXCEPTION_LIMIT_US) {
|
if (cost >= EXCEPTION_LIMIT_US) {
|
||||||
tGDebug("%s conn %p %s received from %s, local info:%s, len:%d, cost:%dus, recv exception, seqNum:%" PRId64
|
tGDebug("%s conn:%p, %s received from %s, local info:%s, len:%d, cost:%dus, recv exception, seqNum:%" PRId64
|
||||||
", sid:%" PRId64 "",
|
", sid:%" PRId64 "",
|
||||||
transLabel(pInst), pConn, TMSG_INFO(pTransMsg->msgType), pConn->dst, pConn->src, pTransMsg->contLen,
|
transLabel(pInst), pConn, TMSG_INFO(pTransMsg->msgType), pConn->dst, pConn->src, pTransMsg->contLen,
|
||||||
(int)cost, pTransMsg->info.seqNum, pTransMsg->info.qId);
|
(int)cost, pTransMsg->info.seqNum, pTransMsg->info.qId);
|
||||||
} else {
|
} else {
|
||||||
tGDebug("%s conn %p %s received from %s, local info:%s, len:%d, cost:%dus, seqNum:%" PRId64 ", sid:%" PRId64 "",
|
tGDebug("%s conn:%p, %s received from %s, local info:%s, len:%d, cost:%dus, seqNum:%" PRId64 ", sid:%" PRId64 "",
|
||||||
transLabel(pInst), pConn, TMSG_INFO(pTransMsg->msgType), pConn->dst, pConn->src, pTransMsg->contLen,
|
transLabel(pInst), pConn, TMSG_INFO(pTransMsg->msgType), pConn->dst, pConn->src, pTransMsg->contLen,
|
||||||
(int)cost, pTransMsg->info.seqNum, pTransMsg->info.qId);
|
(int)cost, pTransMsg->info.seqNum, pTransMsg->info.qId);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (cost >= EXCEPTION_LIMIT_US) {
|
if (cost >= EXCEPTION_LIMIT_US) {
|
||||||
tGDebug(
|
tGDebug(
|
||||||
"%s conn %p %s received from %s, local info:%s, len:%d, noResp:%d, code:%d, cost:%dus, recv exception, "
|
"%s conn:%p, %s received from %s, local info:%s, len:%d, noResp:%d, code:%d, cost:%dus, recv exception, "
|
||||||
"seqNum:%" PRId64 ", sid:%" PRId64 "",
|
"seqNum:%" PRId64 ", sid:%" PRId64 "",
|
||||||
transLabel(pInst), pConn, TMSG_INFO(pTransMsg->msgType), pConn->dst, pConn->src, pTransMsg->contLen,
|
transLabel(pInst), pConn, TMSG_INFO(pTransMsg->msgType), pConn->dst, pConn->src, pTransMsg->contLen,
|
||||||
pHead->noResp, pTransMsg->code, (int)(cost), pTransMsg->info.seqNum, pTransMsg->info.qId);
|
pHead->noResp, pTransMsg->code, (int)(cost), pTransMsg->info.seqNum, pTransMsg->info.qId);
|
||||||
} else {
|
} else {
|
||||||
tGDebug("%s conn %p %s received from %s, local info:%s, len:%d, noResp:%d, code:%d, cost:%dus, seqNum:%" PRId64
|
tGDebug("%s conn:%p, %s received from %s, local info:%s, len:%d, noResp:%d, code:%d, cost:%dus, seqNum:%" PRId64
|
||||||
", "
|
", "
|
||||||
"sid:%" PRId64 "",
|
"sid:%" PRId64 "",
|
||||||
transLabel(pInst), pConn, TMSG_INFO(pTransMsg->msgType), pConn->dst, pConn->src, pTransMsg->contLen,
|
transLabel(pInst), pConn, TMSG_INFO(pTransMsg->msgType), pConn->dst, pConn->src, pTransMsg->contLen,
|
||||||
|
@ -440,23 +440,23 @@ static int32_t uvMayHandleReleaseReq(SSvrConn* pConn, STransMsgHead* pHead) {
|
||||||
if (pHead->msgType == TDMT_SCH_TASK_RELEASE) {
|
if (pHead->msgType == TDMT_SCH_TASK_RELEASE) {
|
||||||
int64_t qId = taosHton64(pHead->qid);
|
int64_t qId = taosHton64(pHead->qid);
|
||||||
if (qId <= 0) {
|
if (qId <= 0) {
|
||||||
tError("conn %p recv release, but invalid sid:%" PRId64 "", pConn, qId);
|
tError("conn:%p, recv release, but invalid sid:%" PRId64 "", pConn, qId);
|
||||||
code = TSDB_CODE_RPC_NO_STATE;
|
code = TSDB_CODE_RPC_NO_STATE;
|
||||||
} else {
|
} else {
|
||||||
void* p = taosHashGet(pConn->pQTable, &qId, sizeof(qId));
|
void* p = taosHashGet(pConn->pQTable, &qId, sizeof(qId));
|
||||||
if (p == NULL) {
|
if (p == NULL) {
|
||||||
code = TSDB_CODE_RPC_NO_STATE;
|
code = TSDB_CODE_RPC_NO_STATE;
|
||||||
tTrace("conn %p recv release, and releady release by server sid:%" PRId64 "", pConn, qId);
|
tTrace("conn:%p, recv release, and releady release by server sid:%" PRId64 "", pConn, qId);
|
||||||
} else {
|
} else {
|
||||||
SSvrRegArg* arg = p;
|
SSvrRegArg* arg = p;
|
||||||
(pInst->cfp)(pInst->parent, &(arg->msg), NULL);
|
(pInst->cfp)(pInst->parent, &(arg->msg), NULL);
|
||||||
tTrace("conn %p recv release, notify server app, sid:%" PRId64 "", pConn, qId);
|
tTrace("conn:%p, recv release, notify server app, sid:%" PRId64 "", pConn, qId);
|
||||||
|
|
||||||
code = taosHashRemove(pConn->pQTable, &qId, sizeof(qId));
|
code = taosHashRemove(pConn->pQTable, &qId, sizeof(qId));
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tDebug("conn %p failed to remove sid:%" PRId64 "", pConn, qId);
|
tDebug("conn:%p, failed to remove sid:%" PRId64 "", pConn, qId);
|
||||||
}
|
}
|
||||||
tTrace("conn %p clear state,sid:%" PRId64 "", pConn, qId);
|
tTrace("conn:%p, clear state,sid:%" PRId64 "", pConn, qId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -468,7 +468,7 @@ static int32_t uvMayHandleReleaseReq(SSvrConn* pConn, STransMsgHead* pHead) {
|
||||||
|
|
||||||
SSvrRespMsg* srvMsg = taosMemoryCalloc(1, sizeof(SSvrRespMsg));
|
SSvrRespMsg* srvMsg = taosMemoryCalloc(1, sizeof(SSvrRespMsg));
|
||||||
if (srvMsg == NULL) {
|
if (srvMsg == NULL) {
|
||||||
tError("conn %p recv release, failed to send release-resp since %s", pConn, tstrerror(terrno));
|
tError("conn:%p, recv release, failed to send release-resp since %s", pConn, tstrerror(terrno));
|
||||||
taosMemoryFree(pHead);
|
taosMemoryFree(pHead);
|
||||||
return terrno;
|
return terrno;
|
||||||
}
|
}
|
||||||
|
@ -496,7 +496,7 @@ bool uvConnMayGetUserInfo(SSvrConn* pConn, STransMsgHead** ppHead, int32_t* msgL
|
||||||
if (pHead->withUserInfo) {
|
if (pHead->withUserInfo) {
|
||||||
STransMsgHead* tHead = taosMemoryCalloc(1, len - sizeof(pInst->user));
|
STransMsgHead* tHead = taosMemoryCalloc(1, len - sizeof(pInst->user));
|
||||||
if (tHead == NULL) {
|
if (tHead == NULL) {
|
||||||
tError("conn %p failed to get user info since %s", pConn, tstrerror(terrno));
|
tError("conn:%p, failed to get user info since %s", pConn, tstrerror(terrno));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
memcpy((char*)tHead, (char*)pHead, TRANS_MSG_OVERHEAD);
|
memcpy((char*)tHead, (char*)pHead, TRANS_MSG_OVERHEAD);
|
||||||
|
@ -524,28 +524,28 @@ static bool uvHandleReq(SSvrConn* pConn) {
|
||||||
int8_t resetBuf = 0;
|
int8_t resetBuf = 0;
|
||||||
int msgLen = transDumpFromBuffer(&pConn->readBuf, (char**)&pHead, 0);
|
int msgLen = transDumpFromBuffer(&pConn->readBuf, (char**)&pHead, 0);
|
||||||
if (msgLen <= 0) {
|
if (msgLen <= 0) {
|
||||||
tError("%s conn %p read invalid packet", transLabel(pInst), pConn);
|
tError("%s conn:%p, read invalid packet", transLabel(pInst), pConn);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (transDecompressMsg((char**)&pHead, &msgLen) < 0) {
|
if (transDecompressMsg((char**)&pHead, &msgLen) < 0) {
|
||||||
tError("%s conn %p recv invalid packet, failed to decompress", transLabel(pInst), pConn);
|
tError("%s conn:%p, recv invalid packet, failed to decompress", transLabel(pInst), pConn);
|
||||||
taosMemoryFree(pHead);
|
taosMemoryFree(pHead);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (uvConnMayGetUserInfo(pConn, &pHead, &msgLen) == true) {
|
if (uvConnMayGetUserInfo(pConn, &pHead, &msgLen) == true) {
|
||||||
tDebug("%s conn %p get user info", transLabel(pInst), pConn);
|
tDebug("%s conn:%p, get user info", transLabel(pInst), pConn);
|
||||||
} else {
|
} else {
|
||||||
if (pConn->userInited == 0) {
|
if (pConn->userInited == 0) {
|
||||||
taosMemoryFree(pHead);
|
taosMemoryFree(pHead);
|
||||||
tDebug("%s conn %p failed get user info since %s", transLabel(pInst), pConn, tstrerror(terrno));
|
tDebug("%s conn:%p, failed get user info since %s", transLabel(pInst), pConn, tstrerror(terrno));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
tDebug("%s conn %p no need get user info", transLabel(pInst), pConn);
|
tDebug("%s conn:%p, no need get user info", transLabel(pInst), pConn);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (resetBuf == 0) {
|
if (resetBuf == 0) {
|
||||||
tTrace("%s conn %p not reset read buf", transLabel(pInst), pConn);
|
tTrace("%s conn:%p, not reset read buf", transLabel(pInst), pConn);
|
||||||
}
|
}
|
||||||
|
|
||||||
pHead->code = htonl(pHead->code);
|
pHead->code = htonl(pHead->code);
|
||||||
|
@ -573,7 +573,7 @@ static bool uvHandleReq(SSvrConn* pConn) {
|
||||||
|
|
||||||
if (pHead->seqNum == 0) {
|
if (pHead->seqNum == 0) {
|
||||||
STraceId* trace = &pHead->traceId;
|
STraceId* trace = &pHead->traceId;
|
||||||
tGError("%s conn %p received invalid seqNum, msgType:%s", transLabel(pInst), pConn, TMSG_INFO(pHead->msgType));
|
tGError("%s conn:%p, received invalid seqNum, msgType:%s", transLabel(pInst), pConn, TMSG_INFO(pHead->msgType));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -623,7 +623,7 @@ void uvOnRecvCb(uv_stream_t* cli, ssize_t nread, const uv_buf_t* buf) {
|
||||||
|
|
||||||
code = transSetReadOption((uv_handle_t*)cli);
|
code = transSetReadOption((uv_handle_t*)cli);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tWarn("%s conn %p failed to set recv opt since %s", transLabel(pInst), conn, tstrerror(code));
|
tWarn("%s conn:%p, failed to set recv opt since %s", transLabel(pInst), conn, tstrerror(code));
|
||||||
}
|
}
|
||||||
|
|
||||||
SConnBuffer* pBuf = &conn->readBuf;
|
SConnBuffer* pBuf = &conn->readBuf;
|
||||||
|
@ -632,7 +632,7 @@ void uvOnRecvCb(uv_stream_t* cli, ssize_t nread, const uv_buf_t* buf) {
|
||||||
if (pBuf->len <= TRANS_PACKET_LIMIT) {
|
if (pBuf->len <= TRANS_PACKET_LIMIT) {
|
||||||
while (transReadComplete(pBuf)) {
|
while (transReadComplete(pBuf)) {
|
||||||
if (true == pBuf->invalid || false == uvHandleReq(conn)) {
|
if (true == pBuf->invalid || false == uvHandleReq(conn)) {
|
||||||
tError("%s conn %p read invalid packet, received from %s, local info:%s", transLabel(pInst), conn, conn->dst,
|
tError("%s conn:%p, read invalid packet, received from %s, local info:%s", transLabel(pInst), conn, conn->dst,
|
||||||
conn->src);
|
conn->src);
|
||||||
conn->broken = true;
|
conn->broken = true;
|
||||||
transUnrefSrvHandle(conn);
|
transUnrefSrvHandle(conn);
|
||||||
|
@ -641,7 +641,7 @@ void uvOnRecvCb(uv_stream_t* cli, ssize_t nread, const uv_buf_t* buf) {
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
tError("%s conn %p read invalid packet, exceed limit, received from %s, local info:%s", transLabel(pInst), conn,
|
tError("%s conn:%p, read invalid packet, exceed limit, received from %s, local info:%s", transLabel(pInst), conn,
|
||||||
conn->dst, conn->src);
|
conn->dst, conn->src);
|
||||||
transUnrefSrvHandle(conn);
|
transUnrefSrvHandle(conn);
|
||||||
return;
|
return;
|
||||||
|
@ -651,7 +651,7 @@ void uvOnRecvCb(uv_stream_t* cli, ssize_t nread, const uv_buf_t* buf) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
tDebug("%s conn %p read error:%s", transLabel(pInst), conn, uv_err_name(nread));
|
tDebug("%s conn:%p, read error:%s", transLabel(pInst), conn, uv_err_name(nread));
|
||||||
if (nread < 0) {
|
if (nread < 0) {
|
||||||
conn->broken = true;
|
conn->broken = true;
|
||||||
transUnrefSrvHandle(conn);
|
transUnrefSrvHandle(conn);
|
||||||
|
@ -668,7 +668,7 @@ void uvAllocConnBufferCb(uv_handle_t* handle, size_t suggested_size, uv_buf_t* b
|
||||||
void uvOnTimeoutCb(uv_timer_t* handle) {
|
void uvOnTimeoutCb(uv_timer_t* handle) {
|
||||||
// opt
|
// opt
|
||||||
SSvrConn* pConn = handle->data;
|
SSvrConn* pConn = handle->data;
|
||||||
tError("conn %p time out", pConn);
|
tError("conn:%p, time out", pConn);
|
||||||
}
|
}
|
||||||
|
|
||||||
void uvOnSendCb(uv_write_t* req, int status) {
|
void uvOnSendCb(uv_write_t* req, int status) {
|
||||||
|
@ -683,7 +683,7 @@ void uvOnSendCb(uv_write_t* req, int status) {
|
||||||
|
|
||||||
freeWReqToWQ(&conn->wq, wrapper);
|
freeWReqToWQ(&conn->wq, wrapper);
|
||||||
|
|
||||||
tDebug("%s conn %p send data out ", transLabel(conn->pInst), conn);
|
tDebug("%s conn:%p, send data out ", transLabel(conn->pInst), conn);
|
||||||
if (status == 0) {
|
if (status == 0) {
|
||||||
while (!QUEUE_IS_EMPTY(&src)) {
|
while (!QUEUE_IS_EMPTY(&src)) {
|
||||||
queue* head = QUEUE_HEAD(&src);
|
queue* head = QUEUE_HEAD(&src);
|
||||||
|
@ -691,7 +691,7 @@ void uvOnSendCb(uv_write_t* req, int status) {
|
||||||
|
|
||||||
SSvrRespMsg* smsg = QUEUE_DATA(head, SSvrRespMsg, q);
|
SSvrRespMsg* smsg = QUEUE_DATA(head, SSvrRespMsg, q);
|
||||||
STraceId* trace = &smsg->msg.info.traceId;
|
STraceId* trace = &smsg->msg.info.traceId;
|
||||||
tGDebug("%s conn %p msg already send out, seqNum:%" PRId64 ", sid:%" PRId64 "", transLabel(conn->pInst), conn,
|
tGDebug("%s conn:%p, msg already send out, seqNum:%" PRId64 ", sid:%" PRId64 "", transLabel(conn->pInst), conn,
|
||||||
smsg->msg.info.seqNum, smsg->msg.info.qId);
|
smsg->msg.info.seqNum, smsg->msg.info.qId);
|
||||||
destroySmsg(smsg);
|
destroySmsg(smsg);
|
||||||
}
|
}
|
||||||
|
@ -702,7 +702,7 @@ void uvOnSendCb(uv_write_t* req, int status) {
|
||||||
|
|
||||||
SSvrRespMsg* smsg = QUEUE_DATA(head, SSvrRespMsg, q);
|
SSvrRespMsg* smsg = QUEUE_DATA(head, SSvrRespMsg, q);
|
||||||
STraceId* trace = &smsg->msg.info.traceId;
|
STraceId* trace = &smsg->msg.info.traceId;
|
||||||
tGDebug("%s conn %p failed to send, seqNum:%" PRId64 ", sid:%" PRId64 " since %s", transLabel(conn->pInst), conn,
|
tGDebug("%s conn:%p, failed to send, seqNum:%" PRId64 ", sid:%" PRId64 " since %s", transLabel(conn->pInst), conn,
|
||||||
smsg->msg.info.seqNum, smsg->msg.info.qId, uv_err_name(status));
|
smsg->msg.info.seqNum, smsg->msg.info.qId, uv_err_name(status));
|
||||||
destroySmsg(smsg);
|
destroySmsg(smsg);
|
||||||
}
|
}
|
||||||
|
@ -770,7 +770,7 @@ static int32_t uvPrepareSendData(SSvrRespMsg* smsg, uv_buf_t* wb) {
|
||||||
}
|
}
|
||||||
|
|
||||||
STraceId* trace = &pMsg->info.traceId;
|
STraceId* trace = &pMsg->info.traceId;
|
||||||
tGDebug("%s conn %p %s is sent to %s, local info:%s, len:%d, seqNum:%" PRId64 ", sid:%" PRId64 "", transLabel(pInst),
|
tGDebug("%s conn:%p, %s is sent to %s, local info:%s, len:%d, seqNum:%" PRId64 ", sid:%" PRId64 "", transLabel(pInst),
|
||||||
pConn, TMSG_INFO(pHead->msgType), pConn->dst, pConn->src, len, pMsg->info.seqNum, pMsg->info.qId);
|
pConn, TMSG_INFO(pHead->msgType), pConn->dst, pConn->src, len, pMsg->info.seqNum, pMsg->info.qId);
|
||||||
|
|
||||||
wb->base = (char*)pHead;
|
wb->base = (char*)pHead;
|
||||||
|
@ -780,7 +780,7 @@ static int32_t uvPrepareSendData(SSvrRespMsg* smsg, uv_buf_t* wb) {
|
||||||
static int32_t uvBuildToSendData(SSvrConn* pConn, uv_buf_t** ppBuf, int32_t* bufNum, queue* toSendQ) {
|
static int32_t uvBuildToSendData(SSvrConn* pConn, uv_buf_t** ppBuf, int32_t* bufNum, queue* toSendQ) {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
int32_t size = transQueueSize(&pConn->resps);
|
int32_t size = transQueueSize(&pConn->resps);
|
||||||
tDebug("%s conn %p has %d msg to send", transLabel(pConn->pInst), pConn, size);
|
tDebug("%s conn:%p, has %d msg to send", transLabel(pConn->pInst), pConn, size);
|
||||||
if (size == 0) {
|
if (size == 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -828,13 +828,13 @@ static FORCE_INLINE void uvStartSendRespImpl(SSvrRespMsg* smsg) {
|
||||||
}
|
}
|
||||||
int32_t size = transQueueSize(&pConn->resps);
|
int32_t size = transQueueSize(&pConn->resps);
|
||||||
if (size == 0) {
|
if (size == 0) {
|
||||||
tDebug("%s conn %p has %d msg to send", transLabel(pConn->pInst), pConn, size);
|
tDebug("%s conn:%p, has %d msg to send", transLabel(pConn->pInst), pConn, size);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
uv_write_t* req = allocWReqFromWQ(&pConn->wq, pConn);
|
uv_write_t* req = allocWReqFromWQ(&pConn->wq, pConn);
|
||||||
if (req == NULL) {
|
if (req == NULL) {
|
||||||
uError("%s conn %p failed to alloc write req since %s", transLabel(pConn->pInst), pConn, tstrerror(terrno));
|
uError("%s conn:%p, failed to alloc write req since %s", transLabel(pConn->pInst), pConn, tstrerror(terrno));
|
||||||
transUnrefSrvHandle(pConn);
|
transUnrefSrvHandle(pConn);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -844,11 +844,11 @@ static FORCE_INLINE void uvStartSendRespImpl(SSvrRespMsg* smsg) {
|
||||||
int32_t bufNum = 0;
|
int32_t bufNum = 0;
|
||||||
code = uvBuildToSendData(pConn, &pBuf, &bufNum, &pWreq->node);
|
code = uvBuildToSendData(pConn, &pBuf, &bufNum, &pWreq->node);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tError("%s conn %p failed to send data", transLabel(pConn->pInst), pConn);
|
tError("%s conn:%p, failed to send data", transLabel(pConn->pInst), pConn);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (bufNum == 0) {
|
if (bufNum == 0) {
|
||||||
tDebug("%s conn %p no data to send", transLabel(pConn->pInst), pConn);
|
tDebug("%s conn:%p, no data to send", transLabel(pConn->pInst), pConn);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -856,7 +856,7 @@ static FORCE_INLINE void uvStartSendRespImpl(SSvrRespMsg* smsg) {
|
||||||
|
|
||||||
int32_t ret = uv_write(req, (uv_stream_t*)pConn->pTcp, pBuf, bufNum, uvOnSendCb);
|
int32_t ret = uv_write(req, (uv_stream_t*)pConn->pTcp, pBuf, bufNum, uvOnSendCb);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
tError("conn %p failed to write data since %s", pConn, uv_err_name(ret));
|
tError("conn:%p, failed to write data since %s", pConn, uv_err_name(ret));
|
||||||
pConn->broken = true;
|
pConn->broken = true;
|
||||||
while (!QUEUE_IS_EMPTY(&pWreq->node)) {
|
while (!QUEUE_IS_EMPTY(&pWreq->node)) {
|
||||||
queue* head = QUEUE_HEAD(&pWreq->node);
|
queue* head = QUEUE_HEAD(&pWreq->node);
|
||||||
|
@ -876,13 +876,13 @@ int32_t uvMayHandleReleaseResp(SSvrRespMsg* pMsg) {
|
||||||
if (pMsg->msg.msgType == TDMT_SCH_TASK_RELEASE && qid > 0) {
|
if (pMsg->msg.msgType == TDMT_SCH_TASK_RELEASE && qid > 0) {
|
||||||
SSvrRegArg* p = taosHashGet(pConn->pQTable, &qid, sizeof(qid));
|
SSvrRegArg* p = taosHashGet(pConn->pQTable, &qid, sizeof(qid));
|
||||||
if (p == NULL) {
|
if (p == NULL) {
|
||||||
tError("%s conn %p already release sid:%" PRId64 "", transLabel(pConn->pInst), pConn, qid);
|
tError("%s conn:%p, already release sid:%" PRId64 "", transLabel(pConn->pInst), pConn, qid);
|
||||||
return TSDB_CODE_RPC_NO_STATE;
|
return TSDB_CODE_RPC_NO_STATE;
|
||||||
} else {
|
} else {
|
||||||
transFreeMsg(p->msg.pCont);
|
transFreeMsg(p->msg.pCont);
|
||||||
code = taosHashRemove(pConn->pQTable, &qid, sizeof(qid));
|
code = taosHashRemove(pConn->pQTable, &qid, sizeof(qid));
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tError("%s conn %p failed to release sid:%" PRId64 " since %s", transLabel(pConn->pInst), pConn, qid,
|
tError("%s conn:%p, failed to release sid:%" PRId64 " since %s", transLabel(pConn->pInst), pConn, qid,
|
||||||
tstrerror(code));
|
tstrerror(code));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1001,18 +1001,18 @@ static void uvShutDownCb(uv_shutdown_t* req, int status) {
|
||||||
static void uvWorkDoTask(uv_work_t* req) {
|
static void uvWorkDoTask(uv_work_t* req) {
|
||||||
// doing time-consumeing task
|
// doing time-consumeing task
|
||||||
// only auth conn currently, add more func later
|
// only auth conn currently, add more func later
|
||||||
tTrace("conn %p start to be processed in BG Thread", req->data);
|
tTrace("conn:%p, start to be processed in BG Thread", req->data);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void uvWorkAfterTask(uv_work_t* req, int status) {
|
static void uvWorkAfterTask(uv_work_t* req, int status) {
|
||||||
if (status != 0) {
|
if (status != 0) {
|
||||||
tTrace("conn %p failed to processed ", req->data);
|
tTrace("conn:%p, failed to processed ", req->data);
|
||||||
}
|
}
|
||||||
// Done time-consumeing task
|
// Done time-consumeing task
|
||||||
// add more func later
|
// add more func later
|
||||||
// this func called in main loop
|
// this func called in main loop
|
||||||
tTrace("conn %p already processed ", req->data);
|
tTrace("conn:%p, already processed ", req->data);
|
||||||
taosMemoryFree(req);
|
taosMemoryFree(req);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1027,7 +1027,7 @@ void uvOnAcceptCb(uv_stream_t* stream, int status) {
|
||||||
|
|
||||||
int err = uv_tcp_init(pObj->loop, cli);
|
int err = uv_tcp_init(pObj->loop, cli);
|
||||||
if (err != 0) {
|
if (err != 0) {
|
||||||
tError("failed to create tcp: %s", uv_err_name(err));
|
tError("failed to create tcp:%s", uv_err_name(err));
|
||||||
taosMemoryFree(cli);
|
taosMemoryFree(cli);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1059,10 +1059,10 @@ void uvOnAcceptCb(uv_stream_t* stream, int status) {
|
||||||
uv_write2(wr, (uv_stream_t*)&(pObj->pipe[pObj->workerIdx][0]), &buf, 1, (uv_stream_t*)cli, uvOnPipeWriteCb));
|
uv_write2(wr, (uv_stream_t*)&(pObj->pipe[pObj->workerIdx][0]), &buf, 1, (uv_stream_t*)cli, uvOnPipeWriteCb));
|
||||||
} else {
|
} else {
|
||||||
if (!uv_is_closing((uv_handle_t*)cli)) {
|
if (!uv_is_closing((uv_handle_t*)cli)) {
|
||||||
tError("failed to accept tcp: %s", uv_err_name(err));
|
tError("failed to accept tcp:%s", uv_err_name(err));
|
||||||
uv_close((uv_handle_t*)cli, uvFreeCb);
|
uv_close((uv_handle_t*)cli, uvFreeCb);
|
||||||
} else {
|
} else {
|
||||||
tError("failed to accept tcp: %s", uv_err_name(err));
|
tError("failed to accept tcp:%s", uv_err_name(err));
|
||||||
taosMemoryFree(cli);
|
taosMemoryFree(cli);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1112,18 +1112,18 @@ void uvOnConnectionCb(uv_stream_t* q, ssize_t nread, const uv_buf_t* buf) {
|
||||||
if ((code = uv_accept(q, (uv_stream_t*)(pConn->pTcp))) == 0) {
|
if ((code = uv_accept(q, (uv_stream_t*)(pConn->pTcp))) == 0) {
|
||||||
uv_os_fd_t fd;
|
uv_os_fd_t fd;
|
||||||
TAOS_UNUSED(uv_fileno((const uv_handle_t*)pConn->pTcp, &fd));
|
TAOS_UNUSED(uv_fileno((const uv_handle_t*)pConn->pTcp, &fd));
|
||||||
tTrace("conn %p created, fd:%d", pConn, fd);
|
tTrace("conn:%p, created, fd:%d", pConn, fd);
|
||||||
|
|
||||||
struct sockaddr_storage peername, sockname;
|
struct sockaddr_storage peername, sockname;
|
||||||
// Get and valid the peer info
|
// Get and valid the peer info
|
||||||
int addrlen = sizeof(peername);
|
int addrlen = sizeof(peername);
|
||||||
if ((code = uv_tcp_getpeername(pConn->pTcp, (struct sockaddr*)&peername, &addrlen)) != 0) {
|
if ((code = uv_tcp_getpeername(pConn->pTcp, (struct sockaddr*)&peername, &addrlen)) != 0) {
|
||||||
tError("conn %p failed to get peer info since %s", pConn, uv_strerror(code));
|
tError("conn:%p, failed to get peer info since %s", pConn, uv_strerror(code));
|
||||||
transUnrefSrvHandle(pConn);
|
transUnrefSrvHandle(pConn);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (peername.ss_family != AF_INET) {
|
if (peername.ss_family != AF_INET) {
|
||||||
tError("conn %p failed to get peer info since not support other protocol except ipv4", pConn);
|
tError("conn:%p, failed to get peer info since not support other protocol except ipv4", pConn);
|
||||||
transUnrefSrvHandle(pConn);
|
transUnrefSrvHandle(pConn);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1132,12 +1132,12 @@ void uvOnConnectionCb(uv_stream_t* q, ssize_t nread, const uv_buf_t* buf) {
|
||||||
// Get and valid the sock info
|
// Get and valid the sock info
|
||||||
addrlen = sizeof(sockname);
|
addrlen = sizeof(sockname);
|
||||||
if ((code = uv_tcp_getsockname(pConn->pTcp, (struct sockaddr*)&sockname, &addrlen)) != 0) {
|
if ((code = uv_tcp_getsockname(pConn->pTcp, (struct sockaddr*)&sockname, &addrlen)) != 0) {
|
||||||
tError("conn %p failed to get local info since %s", pConn, uv_strerror(code));
|
tError("conn:%p, failed to get local info since %s", pConn, uv_strerror(code));
|
||||||
transUnrefSrvHandle(pConn);
|
transUnrefSrvHandle(pConn);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (sockname.ss_family != AF_INET) {
|
if (sockname.ss_family != AF_INET) {
|
||||||
tError("conn %p failed to get sock info since not support other protocol except ipv4", pConn);
|
tError("conn:%p, failed to get sock info since not support other protocol except ipv4", pConn);
|
||||||
transUnrefSrvHandle(pConn);
|
transUnrefSrvHandle(pConn);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1156,7 +1156,7 @@ void uvOnConnectionCb(uv_stream_t* q, ssize_t nread, const uv_buf_t* buf) {
|
||||||
}
|
}
|
||||||
code = uv_read_start((uv_stream_t*)(pConn->pTcp), uvAllocRecvBufferCb, uvOnRecvCb);
|
code = uv_read_start((uv_stream_t*)(pConn->pTcp), uvAllocRecvBufferCb, uvOnRecvCb);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tWarn("conn %p failed to start to read since %s", pConn, uv_err_name(code));
|
tWarn("conn:%p, failed to start to read since %s", pConn, uv_err_name(code));
|
||||||
transUnrefSrvHandle(pConn);
|
transUnrefSrvHandle(pConn);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1341,7 +1341,7 @@ static FORCE_INLINE SSvrConn* createConn(void* hThrd) {
|
||||||
pConn->refId = exh->refId;
|
pConn->refId = exh->refId;
|
||||||
|
|
||||||
QUEUE_INIT(&exh->q);
|
QUEUE_INIT(&exh->q);
|
||||||
tTrace("%s handle %p, conn %p created, refId:%" PRId64, transLabel(pInst), exh, pConn, pConn->refId);
|
tTrace("%s handle %p, conn:%p created, refId:%" PRId64, transLabel(pInst), exh, pConn, pConn->refId);
|
||||||
|
|
||||||
pConn->pQTable = taosHashInit(1024, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BIGINT), true, HASH_NO_LOCK);
|
pConn->pQTable = taosHashInit(1024, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BIGINT), true, HASH_NO_LOCK);
|
||||||
if (pConn->pQTable == NULL) {
|
if (pConn->pQTable == NULL) {
|
||||||
|
@ -1405,7 +1405,7 @@ static FORCE_INLINE void destroyConn(SSvrConn* conn, bool clear) {
|
||||||
|
|
||||||
if (clear) {
|
if (clear) {
|
||||||
if (!uv_is_closing((uv_handle_t*)conn->pTcp)) {
|
if (!uv_is_closing((uv_handle_t*)conn->pTcp)) {
|
||||||
tTrace("conn %p to be destroyed", conn);
|
tTrace("conn:%p, to be destroyed", conn);
|
||||||
uv_close((uv_handle_t*)conn->pTcp, uvDestroyConn);
|
uv_close((uv_handle_t*)conn->pTcp, uvDestroyConn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1421,7 +1421,7 @@ void uvConnDestroyAllState(SSvrConn* p) {
|
||||||
SSvrRegArg* arg = pIter;
|
SSvrRegArg* arg = pIter;
|
||||||
int64_t* qid = taosHashGetKey(pIter, NULL);
|
int64_t* qid = taosHashGetKey(pIter, NULL);
|
||||||
(pInst->cfp)(pInst->parent, &(arg->msg), NULL);
|
(pInst->cfp)(pInst->parent, &(arg->msg), NULL);
|
||||||
tTrace("conn %p broken, notify server app, sid:%" PRId64 "", p, *qid);
|
tTrace("conn:%p, broken, notify server app, sid:%" PRId64 "", p, *qid);
|
||||||
pIter = taosHashIterate(pQTable, pIter);
|
pIter = taosHashIterate(pQTable, pIter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1441,7 +1441,7 @@ static void uvDestroyConn(uv_handle_t* handle) {
|
||||||
transRemoveExHandle(uvGetConnRefOfThrd(thrd), conn->refId);
|
transRemoveExHandle(uvGetConnRefOfThrd(thrd), conn->refId);
|
||||||
|
|
||||||
STrans* pInst = thrd->pInst;
|
STrans* pInst = thrd->pInst;
|
||||||
tDebug("%s conn %p destroy", transLabel(pInst), conn);
|
tDebug("%s conn:%p, destroy", transLabel(pInst), conn);
|
||||||
|
|
||||||
transQueueDestroy(&conn->resps);
|
transQueueDestroy(&conn->resps);
|
||||||
|
|
||||||
|
@ -1464,7 +1464,7 @@ static void uvDestroyConn(uv_handle_t* handle) {
|
||||||
}
|
}
|
||||||
static void uvPipeListenCb(uv_stream_t* handle, int status) {
|
static void uvPipeListenCb(uv_stream_t* handle, int status) {
|
||||||
if (status != 0) {
|
if (status != 0) {
|
||||||
tError("server failed to init pipe, errmsg: %s", uv_err_name(status));
|
tError("server failed to init pipe, errmsg:%s", uv_err_name(status));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1473,12 +1473,12 @@ static void uvPipeListenCb(uv_stream_t* handle, int status) {
|
||||||
|
|
||||||
int ret = uv_pipe_init(srv->loop, pipe, 1);
|
int ret = uv_pipe_init(srv->loop, pipe, 1);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
tError("trans-svr failed to init pipe, errmsg: %s", uv_err_name(ret));
|
tError("trans-svr failed to init pipe, errmsg:%s", uv_err_name(ret));
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = uv_accept((uv_stream_t*)&srv->pipeListen, (uv_stream_t*)pipe);
|
ret = uv_accept((uv_stream_t*)&srv->pipeListen, (uv_stream_t*)pipe);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
tError("trans-svr failed to accept pipe, errmsg: %s", uv_err_name(ret));
|
tError("trans-svr failed to accept pipe, errmsg:%s", uv_err_name(ret));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1507,7 +1507,7 @@ void* transInitServer(uint32_t ip, uint32_t port, char* label, int numOfThreads,
|
||||||
SServerObj* srv = taosMemoryCalloc(1, sizeof(SServerObj));
|
SServerObj* srv = taosMemoryCalloc(1, sizeof(SServerObj));
|
||||||
if (srv == NULL) {
|
if (srv == NULL) {
|
||||||
code = terrno;
|
code = terrno;
|
||||||
tError("failed to init server since: %s", tstrerror(code));
|
tError("failed to init server since:%s", tstrerror(code));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1526,7 +1526,7 @@ void* transInitServer(uint32_t ip, uint32_t port, char* label, int numOfThreads,
|
||||||
|
|
||||||
code = uv_loop_init(srv->loop);
|
code = uv_loop_init(srv->loop);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tError("failed to init server since: %s", uv_err_name(code));
|
tError("failed to init server since:%s", uv_err_name(code));
|
||||||
code = TSDB_CODE_THIRDPARTY_ERROR;
|
code = TSDB_CODE_THIRDPARTY_ERROR;
|
||||||
goto End;
|
goto End;
|
||||||
}
|
}
|
||||||
|
@ -1541,7 +1541,7 @@ void* transInitServer(uint32_t ip, uint32_t port, char* label, int numOfThreads,
|
||||||
#if defined(WINDOWS) || defined(DARWIN)
|
#if defined(WINDOWS) || defined(DARWIN)
|
||||||
int ret = uv_pipe_init(srv->loop, &srv->pipeListen, 0);
|
int ret = uv_pipe_init(srv->loop, &srv->pipeListen, 0);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
tError("failed to init pipe, errmsg: %s", uv_err_name(ret));
|
tError("failed to init pipe, errmsg:%s", uv_err_name(ret));
|
||||||
goto End;
|
goto End;
|
||||||
}
|
}
|
||||||
#if defined(WINDOWS)
|
#if defined(WINDOWS)
|
||||||
|
@ -1553,13 +1553,13 @@ void* transInitServer(uint32_t ip, uint32_t port, char* label, int numOfThreads,
|
||||||
|
|
||||||
ret = uv_pipe_bind(&srv->pipeListen, pipeName);
|
ret = uv_pipe_bind(&srv->pipeListen, pipeName);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
tError("failed to bind pipe, errmsg: %s", uv_err_name(ret));
|
tError("failed to bind pipe, errmsg:%s", uv_err_name(ret));
|
||||||
goto End;
|
goto End;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = uv_listen((uv_stream_t*)&srv->pipeListen, SOMAXCONN, uvPipeListenCb);
|
ret = uv_listen((uv_stream_t*)&srv->pipeListen, SOMAXCONN, uvPipeListenCb);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
tError("failed to listen pipe, errmsg: %s", uv_err_name(ret));
|
tError("failed to listen pipe, errmsg:%s", uv_err_name(ret));
|
||||||
goto End;
|
goto End;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1637,21 +1637,21 @@ void* transInitServer(uint32_t ip, uint32_t port, char* label, int numOfThreads,
|
||||||
|
|
||||||
uv_os_sock_t fds[2];
|
uv_os_sock_t fds[2];
|
||||||
if ((code = uv_socketpair(SOCK_STREAM, 0, fds, UV_NONBLOCK_PIPE, UV_NONBLOCK_PIPE)) != 0) {
|
if ((code = uv_socketpair(SOCK_STREAM, 0, fds, UV_NONBLOCK_PIPE, UV_NONBLOCK_PIPE)) != 0) {
|
||||||
tError("failed to create pipe, errmsg: %s", uv_err_name(code));
|
tError("failed to create pipe, errmsg:%s", uv_err_name(code));
|
||||||
code = TSDB_CODE_THIRDPARTY_ERROR;
|
code = TSDB_CODE_THIRDPARTY_ERROR;
|
||||||
goto End;
|
goto End;
|
||||||
}
|
}
|
||||||
|
|
||||||
code = uv_pipe_init(srv->loop, &(srv->pipe[i][0]), 1);
|
code = uv_pipe_init(srv->loop, &(srv->pipe[i][0]), 1);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tError("failed to init pipe, errmsg: %s", uv_err_name(code));
|
tError("failed to init pipe, errmsg:%s", uv_err_name(code));
|
||||||
code = TSDB_CODE_THIRDPARTY_ERROR;
|
code = TSDB_CODE_THIRDPARTY_ERROR;
|
||||||
goto End;
|
goto End;
|
||||||
}
|
}
|
||||||
|
|
||||||
code = uv_pipe_open(&(srv->pipe[i][0]), fds[1]);
|
code = uv_pipe_open(&(srv->pipe[i][0]), fds[1]);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
tError("failed to init pipe, errmsg: %s", uv_err_name(code));
|
tError("failed to init pipe, errmsg:%s", uv_err_name(code));
|
||||||
code = TSDB_CODE_THIRDPARTY_ERROR;
|
code = TSDB_CODE_THIRDPARTY_ERROR;
|
||||||
goto End;
|
goto End;
|
||||||
}
|
}
|
||||||
|
@ -1718,7 +1718,7 @@ void uvHandleRelease(SSvrRespMsg* msg, SWorkThrd* thrd) { return; }
|
||||||
|
|
||||||
void uvHandleResp(SSvrRespMsg* msg, SWorkThrd* thrd) {
|
void uvHandleResp(SSvrRespMsg* msg, SWorkThrd* thrd) {
|
||||||
// send msg to client
|
// send msg to client
|
||||||
tDebug("%s conn %p start to send resp (2/2)", transLabel(thrd->pInst), msg->pConn);
|
tDebug("%s conn:%p, start to send resp (2/2)", transLabel(thrd->pInst), msg->pConn);
|
||||||
uvStartSendResp(msg);
|
uvStartSendResp(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1726,7 +1726,7 @@ int32_t uvHandleStateReq(SSvrRespMsg* msg) {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
SSvrConn* conn = msg->pConn;
|
SSvrConn* conn = msg->pConn;
|
||||||
int64_t qid = msg->msg.info.qId;
|
int64_t qid = msg->msg.info.qId;
|
||||||
tDebug("%s conn %p start to register brokenlink callback, sid:%" PRId64 "", transLabel(conn->pInst), conn, qid);
|
tDebug("%s conn:%p, start to register brokenlink callback, sid:%" PRId64 "", transLabel(conn->pInst), conn, qid);
|
||||||
|
|
||||||
SSvrRegArg arg = {.notifyCount = 0, .init = 1, .msg = msg->msg};
|
SSvrRegArg arg = {.notifyCount = 0, .init = 1, .msg = msg->msg};
|
||||||
SSvrRegArg* p = taosHashGet(conn->pQTable, &qid, sizeof(qid));
|
SSvrRegArg* p = taosHashGet(conn->pQTable, &qid, sizeof(qid));
|
||||||
|
@ -1735,12 +1735,12 @@ int32_t uvHandleStateReq(SSvrRespMsg* msg) {
|
||||||
}
|
}
|
||||||
|
|
||||||
code = taosHashPut(conn->pQTable, &qid, sizeof(qid), &arg, sizeof(arg));
|
code = taosHashPut(conn->pQTable, &qid, sizeof(qid), &arg, sizeof(arg));
|
||||||
if (code == 0) tDebug("conn %p register brokenlink callback succ", conn);
|
if (code == 0) tDebug("conn:%p, register brokenlink callback succ", conn);
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
void uvHandleRegister(SSvrRespMsg* msg, SWorkThrd* thrd) {
|
void uvHandleRegister(SSvrRespMsg* msg, SWorkThrd* thrd) {
|
||||||
SSvrConn* conn = msg->pConn;
|
SSvrConn* conn = msg->pConn;
|
||||||
tDebug("%s conn %p register brokenlink callback", transLabel(thrd->pInst), conn);
|
tDebug("%s conn:%p, register brokenlink callback", transLabel(thrd->pInst), conn);
|
||||||
int32_t code = uvHandleStateReq(msg);
|
int32_t code = uvHandleStateReq(msg);
|
||||||
taosMemoryFree(msg);
|
taosMemoryFree(msg);
|
||||||
}
|
}
|
||||||
|
@ -1859,7 +1859,7 @@ void transRefSrvHandle(void* handle) {
|
||||||
}
|
}
|
||||||
SSvrConn* pConn = handle;
|
SSvrConn* pConn = handle;
|
||||||
pConn->ref++;
|
pConn->ref++;
|
||||||
tTrace("conn %p ref count:%d", pConn, pConn->ref);
|
tTrace("conn:%p, ref count:%d", pConn, pConn->ref);
|
||||||
}
|
}
|
||||||
|
|
||||||
void transUnrefSrvHandle(void* handle) {
|
void transUnrefSrvHandle(void* handle) {
|
||||||
|
@ -1868,7 +1868,7 @@ void transUnrefSrvHandle(void* handle) {
|
||||||
}
|
}
|
||||||
SSvrConn* pConn = handle;
|
SSvrConn* pConn = handle;
|
||||||
pConn->ref--;
|
pConn->ref--;
|
||||||
tTrace("conn %p ref count:%d", pConn, pConn->ref);
|
tTrace("conn:%p, ref count:%d", pConn, pConn->ref);
|
||||||
if (pConn->ref == 0) {
|
if (pConn->ref == 0) {
|
||||||
destroyConn((SSvrConn*)handle, true);
|
destroyConn((SSvrConn*)handle, true);
|
||||||
}
|
}
|
||||||
|
@ -1903,7 +1903,7 @@ int32_t transReleaseSrvHandle(void* handle, int32_t status) {
|
||||||
m->msg = tmsg;
|
m->msg = tmsg;
|
||||||
m->type = Normal;
|
m->type = Normal;
|
||||||
|
|
||||||
tDebug("%s conn %p start to send %s, sid:%" PRId64 "", transLabel(pThrd->pInst), exh->handle, TMSG_INFO(tmsg.msgType),
|
tDebug("%s conn:%p, start to send %s, sid:%" PRId64 "", transLabel(pThrd->pInst), exh->handle, TMSG_INFO(tmsg.msgType),
|
||||||
qId);
|
qId);
|
||||||
if ((code = transAsyncSend(pThrd->asyncPool, &m->q)) != 0) {
|
if ((code = transAsyncSend(pThrd->asyncPool, &m->q)) != 0) {
|
||||||
destroySmsg(m);
|
destroySmsg(m);
|
||||||
|
@ -1958,7 +1958,7 @@ int32_t transSendResponse(const STransMsg* msg) {
|
||||||
m->type = Normal;
|
m->type = Normal;
|
||||||
|
|
||||||
STraceId* trace = (STraceId*)&msg->info.traceId;
|
STraceId* trace = (STraceId*)&msg->info.traceId;
|
||||||
tGDebug("conn %p start to send resp (1/2)", exh->handle);
|
tGDebug("conn:%p, start to send resp (1/2)", exh->handle);
|
||||||
if ((code = transAsyncSend(pThrd->asyncPool, &m->q)) != 0) {
|
if ((code = transAsyncSend(pThrd->asyncPool, &m->q)) != 0) {
|
||||||
destroySmsg(m);
|
destroySmsg(m);
|
||||||
transReleaseExHandle(msg->info.refIdMgt, refId);
|
transReleaseExHandle(msg->info.refIdMgt, refId);
|
||||||
|
@ -2006,7 +2006,7 @@ int32_t transRegisterMsg(const STransMsg* msg) {
|
||||||
m->type = Register;
|
m->type = Register;
|
||||||
|
|
||||||
STrans* pInst = pThrd->pInst;
|
STrans* pInst = pThrd->pInst;
|
||||||
tDebug("%s conn %p start to register brokenlink callback", transLabel(pInst), exh->handle);
|
tDebug("%s conn:%p, start to register brokenlink callback", transLabel(pInst), exh->handle);
|
||||||
if ((code = transAsyncSend(pThrd->asyncPool, &m->q)) != 0) {
|
if ((code = transAsyncSend(pThrd->asyncPool, &m->q)) != 0) {
|
||||||
destroySmsg(m);
|
destroySmsg(m);
|
||||||
transReleaseExHandle(msg->info.refIdMgt, refId);
|
transReleaseExHandle(msg->info.refIdMgt, refId);
|
||||||
|
|
|
@ -408,7 +408,7 @@ int32_t createDiskbasedBuf(SDiskbasedBuf** pBuf, int32_t pagesize, int64_t inMem
|
||||||
goto _error;
|
goto _error;
|
||||||
}
|
}
|
||||||
|
|
||||||
// qDebug("QInfo:0x%"PRIx64" create resBuf for output, page size:%d, inmem buf pages:%d, file:%s", qId,
|
// qDebug("QInfo:0x%"PRIx64 " create resBuf for output, page size:%d, inmem buf pages:%d, file:%s", qId,
|
||||||
// pPBuf->pageSize, pPBuf->inMemPages, pPBuf->path);
|
// pPBuf->pageSize, pPBuf->inMemPages, pPBuf->path);
|
||||||
|
|
||||||
*pBuf = pPBuf;
|
*pBuf = pPBuf;
|
||||||
|
|
|
@ -214,14 +214,14 @@ int32_t taosWriteQitem(STaosQueue *queue, void *pItem) {
|
||||||
(void)taosThreadMutexLock(&queue->mutex);
|
(void)taosThreadMutexLock(&queue->mutex);
|
||||||
if (queue->memLimit > 0 && (queue->memOfItems + pNode->size + pNode->dataSize) > queue->memLimit) {
|
if (queue->memLimit > 0 && (queue->memOfItems + pNode->size + pNode->dataSize) > queue->memLimit) {
|
||||||
code = TSDB_CODE_UTIL_QUEUE_OUT_OF_MEMORY;
|
code = TSDB_CODE_UTIL_QUEUE_OUT_OF_MEMORY;
|
||||||
uError("item:%p failed to put into queue:%p, queue mem limit: %" PRId64 ", reason: %s" PRId64, pItem, queue,
|
uError("item:%p, failed to put into queue:%p, queue mem limit:%" PRId64 ", reason:%s" PRId64, pItem, queue,
|
||||||
queue->memLimit, tstrerror(code));
|
queue->memLimit, tstrerror(code));
|
||||||
|
|
||||||
(void)taosThreadMutexUnlock(&queue->mutex);
|
(void)taosThreadMutexUnlock(&queue->mutex);
|
||||||
return code;
|
return code;
|
||||||
} else if (queue->itemLimit > 0 && queue->numOfItems + 1 > queue->itemLimit) {
|
} else if (queue->itemLimit > 0 && queue->numOfItems + 1 > queue->itemLimit) {
|
||||||
code = TSDB_CODE_UTIL_QUEUE_OUT_OF_MEMORY;
|
code = TSDB_CODE_UTIL_QUEUE_OUT_OF_MEMORY;
|
||||||
uError("item:%p failed to put into queue:%p, queue size limit: %" PRId64 ", reason: %s" PRId64, pItem, queue,
|
uError("item:%p, failed to put into queue:%p, queue size limit:%" PRId64 ", reason:%s" PRId64, pItem, queue,
|
||||||
queue->itemLimit, tstrerror(code));
|
queue->itemLimit, tstrerror(code));
|
||||||
(void)taosThreadMutexUnlock(&queue->mutex);
|
(void)taosThreadMutexUnlock(&queue->mutex);
|
||||||
return code;
|
return code;
|
||||||
|
@ -240,7 +240,7 @@ int32_t taosWriteQitem(STaosQueue *queue, void *pItem) {
|
||||||
(void)atomic_add_fetch_32(&queue->qset->numOfItems, 1);
|
(void)atomic_add_fetch_32(&queue->qset->numOfItems, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
uTrace("item:%p is put into queue:%p, items:%d mem:%" PRId64, pItem, queue, queue->numOfItems, queue->memOfItems);
|
uTrace("item:%p, is put into queue:%p, items:%d mem:%" PRId64, pItem, queue, queue->numOfItems, queue->memOfItems);
|
||||||
|
|
||||||
(void)taosThreadMutexUnlock(&queue->mutex);
|
(void)taosThreadMutexUnlock(&queue->mutex);
|
||||||
|
|
||||||
|
@ -269,7 +269,7 @@ void taosReadQitem(STaosQueue *queue, void **ppItem) {
|
||||||
if (queue->qset) {
|
if (queue->qset) {
|
||||||
(void)atomic_sub_fetch_32(&queue->qset->numOfItems, 1);
|
(void)atomic_sub_fetch_32(&queue->qset->numOfItems, 1);
|
||||||
}
|
}
|
||||||
uTrace("item:%p is read out from queue:%p, items:%d mem:%" PRId64, *ppItem, queue, queue->numOfItems,
|
uTrace("item:%p, is read out from queue:%p, items:%d mem:%" PRId64, *ppItem, queue, queue->numOfItems,
|
||||||
queue->memOfItems);
|
queue->memOfItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -341,7 +341,7 @@ int32_t taosGetQitem(STaosQall *qall, void **ppItem) {
|
||||||
qall->unAccessedNumOfItems -= 1;
|
qall->unAccessedNumOfItems -= 1;
|
||||||
qall->unAccessMemOfItems -= pNode->dataSize;
|
qall->unAccessMemOfItems -= pNode->dataSize;
|
||||||
|
|
||||||
uTrace("item:%p is fetched", *ppItem);
|
uTrace("item:%p, is fetched", *ppItem);
|
||||||
} else {
|
} else {
|
||||||
*ppItem = NULL;
|
*ppItem = NULL;
|
||||||
}
|
}
|
||||||
|
@ -491,7 +491,7 @@ int32_t taosReadQitemFromQset(STaosQset *qset, void **ppItem, SQueueInfo *qinfo)
|
||||||
queue->memOfItems -= (pNode->size + pNode->dataSize);
|
queue->memOfItems -= (pNode->size + pNode->dataSize);
|
||||||
(void)atomic_sub_fetch_32(&qset->numOfItems, 1);
|
(void)atomic_sub_fetch_32(&qset->numOfItems, 1);
|
||||||
code = 1;
|
code = 1;
|
||||||
uTrace("item:%p is read out from queue:%p, items:%d mem:%" PRId64, *ppItem, queue, queue->numOfItems - 1,
|
uTrace("item:%p, is read out from queue:%p, items:%d mem:%" PRId64, *ppItem, queue, queue->numOfItems - 1,
|
||||||
queue->memOfItems);
|
queue->memOfItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -98,7 +98,7 @@ int32_t taosOpenRef(int32_t max, RefFp fp) {
|
||||||
taosIncRsetCount(pSet);
|
taosIncRsetCount(pSet);
|
||||||
|
|
||||||
tsRefSetNum++;
|
tsRefSetNum++;
|
||||||
uTrace("rsetId:%d is opened, max:%d, fp:%p refSetNum:%d", rsetId, max, fp, tsRefSetNum);
|
uTrace("rsetId:%d, is opened, max:%d, fp:%p refSetNum:%d", rsetId, max, fp, tsRefSetNum);
|
||||||
} else {
|
} else {
|
||||||
rsetId = TSDB_CODE_REF_FULL;
|
rsetId = TSDB_CODE_REF_FULL;
|
||||||
taosMemoryFree(nodeList);
|
taosMemoryFree(nodeList);
|
||||||
|
@ -116,7 +116,7 @@ void taosCloseRef(int32_t rsetId) {
|
||||||
int32_t deleted = 0;
|
int32_t deleted = 0;
|
||||||
|
|
||||||
if (rsetId < 0 || rsetId >= TSDB_REF_OBJECTS) {
|
if (rsetId < 0 || rsetId >= TSDB_REF_OBJECTS) {
|
||||||
uTrace("rsetId:%d is invalid, out of range", rsetId);
|
uTrace("rsetId:%d, is invalid, out of range", rsetId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -127,9 +127,9 @@ void taosCloseRef(int32_t rsetId) {
|
||||||
if (pSet->state == TSDB_REF_STATE_ACTIVE) {
|
if (pSet->state == TSDB_REF_STATE_ACTIVE) {
|
||||||
pSet->state = TSDB_REF_STATE_DELETED;
|
pSet->state = TSDB_REF_STATE_DELETED;
|
||||||
deleted = 1;
|
deleted = 1;
|
||||||
uTrace("rsetId:%d is closed, count:%d", rsetId, pSet->count);
|
uTrace("rsetId:%d, is closed, count:%d", rsetId, pSet->count);
|
||||||
} else {
|
} else {
|
||||||
uTrace("rsetId:%d is already closed, count:%d", rsetId, pSet->count);
|
uTrace("rsetId:%d, is already closed, count:%d", rsetId, pSet->count);
|
||||||
}
|
}
|
||||||
|
|
||||||
(void)taosThreadMutexUnlock(&tsRefMutex);
|
(void)taosThreadMutexUnlock(&tsRefMutex);
|
||||||
|
@ -144,7 +144,7 @@ int64_t taosAddRef(int32_t rsetId, void *p) {
|
||||||
int64_t rid = 0;
|
int64_t rid = 0;
|
||||||
|
|
||||||
if (rsetId < 0 || rsetId >= TSDB_REF_OBJECTS) {
|
if (rsetId < 0 || rsetId >= TSDB_REF_OBJECTS) {
|
||||||
uTrace("rsetId:%d p:%p failed to add, rsetId not valid", rsetId, p);
|
uTrace("rsetId:%d, p:%p failed to add, rsetId not valid", rsetId, p);
|
||||||
return terrno = TSDB_CODE_REF_INVALID_ID;
|
return terrno = TSDB_CODE_REF_INVALID_ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -152,14 +152,14 @@ int64_t taosAddRef(int32_t rsetId, void *p) {
|
||||||
taosIncRsetCount(pSet);
|
taosIncRsetCount(pSet);
|
||||||
if (pSet->state != TSDB_REF_STATE_ACTIVE) {
|
if (pSet->state != TSDB_REF_STATE_ACTIVE) {
|
||||||
taosDecRsetCount(pSet);
|
taosDecRsetCount(pSet);
|
||||||
uTrace("rsetId:%d p:%p failed to add, not active", rsetId, p);
|
uTrace("rsetId:%d, p:%p failed to add, not active", rsetId, p);
|
||||||
return terrno = TSDB_CODE_REF_ID_REMOVED;
|
return terrno = TSDB_CODE_REF_ID_REMOVED;
|
||||||
}
|
}
|
||||||
|
|
||||||
pNode = taosMemoryCalloc(sizeof(SRefNode), 1);
|
pNode = taosMemoryCalloc(sizeof(SRefNode), 1);
|
||||||
if (pNode == NULL) {
|
if (pNode == NULL) {
|
||||||
taosDecRsetCount(pSet);
|
taosDecRsetCount(pSet);
|
||||||
uError("rsetId:%d p:%p failed to add, out of memory", rsetId, p);
|
uError("rsetId:%d, p:%p failed to add, out of memory", rsetId, p);
|
||||||
return terrno;
|
return terrno;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -176,7 +176,7 @@ int64_t taosAddRef(int32_t rsetId, void *p) {
|
||||||
if (pSet->nodeList[hash]) pSet->nodeList[hash]->prev = pNode;
|
if (pSet->nodeList[hash]) pSet->nodeList[hash]->prev = pNode;
|
||||||
pSet->nodeList[hash] = pNode;
|
pSet->nodeList[hash] = pNode;
|
||||||
|
|
||||||
uTrace("rsetId:%d p:%p rid:%" PRId64 " is added, count:%d, remain count:%d", rsetId, p, rid, pSet->count,
|
uTrace("rsetId:%d, p:%p rid:0x%" PRIx64 " is added, count:%d, remain count:%d", rsetId, p, rid, pSet->count,
|
||||||
pNode->count);
|
pNode->count);
|
||||||
|
|
||||||
taosUnlockList(pSet->lockedBy + hash);
|
taosUnlockList(pSet->lockedBy + hash);
|
||||||
|
@ -195,13 +195,13 @@ void *taosAcquireRef(int32_t rsetId, int64_t rid) {
|
||||||
void *p = NULL;
|
void *p = NULL;
|
||||||
|
|
||||||
if (rsetId < 0 || rsetId >= TSDB_REF_OBJECTS) {
|
if (rsetId < 0 || rsetId >= TSDB_REF_OBJECTS) {
|
||||||
// uTrace("rsetId:%d rid:%" PRId64 " failed to acquire, rsetId not valid", rsetId, rid);
|
// uTrace("rsetId:%d, rid:0x%" PRIx64 " failed to acquire, rsetId not valid", rsetId, rid);
|
||||||
terrno = TSDB_CODE_REF_INVALID_ID;
|
terrno = TSDB_CODE_REF_INVALID_ID;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rid <= 0) {
|
if (rid <= 0) {
|
||||||
uTrace("rsetId:%d rid:%" PRId64 " failed to acquire, rid not valid", rsetId, rid);
|
uTrace("rsetId:%d, rid:0x%" PRIx64 " failed to acquire, rid not valid", rsetId, rid);
|
||||||
terrno = TSDB_CODE_REF_NOT_EXIST;
|
terrno = TSDB_CODE_REF_NOT_EXIST;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -209,7 +209,7 @@ void *taosAcquireRef(int32_t rsetId, int64_t rid) {
|
||||||
pSet = tsRefSetList + rsetId;
|
pSet = tsRefSetList + rsetId;
|
||||||
taosIncRsetCount(pSet);
|
taosIncRsetCount(pSet);
|
||||||
if (pSet->state != TSDB_REF_STATE_ACTIVE) {
|
if (pSet->state != TSDB_REF_STATE_ACTIVE) {
|
||||||
uTrace("rsetId:%d rid:%" PRId64 " failed to acquire, not active", rsetId, rid);
|
uTrace("rsetId:%d, rid:0x%" PRIx64 " failed to acquire, not active", rsetId, rid);
|
||||||
taosDecRsetCount(pSet);
|
taosDecRsetCount(pSet);
|
||||||
terrno = TSDB_CODE_REF_ID_REMOVED;
|
terrno = TSDB_CODE_REF_ID_REMOVED;
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -229,21 +229,21 @@ void *taosAcquireRef(int32_t rsetId, int64_t rid) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (iter >= TSDB_REF_ITER_THRESHOLD) {
|
if (iter >= TSDB_REF_ITER_THRESHOLD) {
|
||||||
uWarn("rsetId:%d rid:%" PRId64 " iter:%d", rsetId, rid, iter);
|
uWarn("rsetId:%d, rid:0x%" PRIx64 " iter:%d", rsetId, rid, iter);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pNode) {
|
if (pNode) {
|
||||||
if (pNode->removed == 0) {
|
if (pNode->removed == 0) {
|
||||||
pNode->count++;
|
pNode->count++;
|
||||||
p = pNode->p;
|
p = pNode->p;
|
||||||
uTrace("rsetId:%d p:%p rid:%" PRId64 " is acquired, remain count:%d", rsetId, pNode->p, rid, pNode->count);
|
uTrace("rsetId:%d, p:%p rid:0x%" PRIx64 " is acquired, remain count:%d", rsetId, pNode->p, rid, pNode->count);
|
||||||
} else {
|
} else {
|
||||||
terrno = TSDB_CODE_REF_NOT_EXIST;
|
terrno = TSDB_CODE_REF_NOT_EXIST;
|
||||||
uTrace("rsetId:%d p:%p rid:%" PRId64 " is already removed, failed to acquire", rsetId, pNode->p, rid);
|
uTrace("rsetId:%d, p:%p rid:0x%" PRIx64 " is already removed, failed to acquire", rsetId, pNode->p, rid);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
terrno = TSDB_CODE_REF_NOT_EXIST;
|
terrno = TSDB_CODE_REF_NOT_EXIST;
|
||||||
uTrace("rsetId:%d rid:%" PRId64 " is not there, failed to acquire", rsetId, rid);
|
uTrace("rsetId:%d, rid:0x%" PRIx64 " is not there, failed to acquire", rsetId, rid);
|
||||||
}
|
}
|
||||||
|
|
||||||
taosUnlockList(pSet->lockedBy + hash);
|
taosUnlockList(pSet->lockedBy + hash);
|
||||||
|
@ -264,13 +264,13 @@ void *taosIterateRef(int32_t rsetId, int64_t rid) {
|
||||||
SRefSet *pSet;
|
SRefSet *pSet;
|
||||||
|
|
||||||
if (rsetId < 0 || rsetId >= TSDB_REF_OBJECTS) {
|
if (rsetId < 0 || rsetId >= TSDB_REF_OBJECTS) {
|
||||||
uTrace("rsetId:%d rid:%" PRId64 " failed to iterate, rsetId not valid", rsetId, rid);
|
uTrace("rsetId:%d, rid:0x%" PRIx64 " failed to iterate, rsetId not valid", rsetId, rid);
|
||||||
terrno = TSDB_CODE_REF_INVALID_ID;
|
terrno = TSDB_CODE_REF_INVALID_ID;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rid < 0) {
|
if (rid < 0) {
|
||||||
uTrace("rsetId:%d rid:%" PRId64 " failed to iterate, rid not valid", rsetId, rid);
|
uTrace("rsetId:%d, rid:0x%" PRIx64 " failed to iterate, rid not valid", rsetId, rid);
|
||||||
terrno = TSDB_CODE_REF_NOT_EXIST;
|
terrno = TSDB_CODE_REF_NOT_EXIST;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -279,7 +279,7 @@ void *taosIterateRef(int32_t rsetId, int64_t rid) {
|
||||||
pSet = tsRefSetList + rsetId;
|
pSet = tsRefSetList + rsetId;
|
||||||
taosIncRsetCount(pSet);
|
taosIncRsetCount(pSet);
|
||||||
if (pSet->state != TSDB_REF_STATE_ACTIVE) {
|
if (pSet->state != TSDB_REF_STATE_ACTIVE) {
|
||||||
uTrace("rsetId:%d rid:%" PRId64 " failed to iterate, rset not active", rsetId, rid);
|
uTrace("rsetId:%d, rid:0x%" PRIx64 " failed to iterate, rset not active", rsetId, rid);
|
||||||
terrno = TSDB_CODE_REF_ID_REMOVED;
|
terrno = TSDB_CODE_REF_ID_REMOVED;
|
||||||
taosDecRsetCount(pSet);
|
taosDecRsetCount(pSet);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -301,11 +301,11 @@ void *taosIterateRef(int32_t rsetId, int64_t rid) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (iter >= TSDB_REF_ITER_THRESHOLD) {
|
if (iter >= TSDB_REF_ITER_THRESHOLD) {
|
||||||
uWarn("rsetId:%d rid:%" PRId64 " iter:%d", rsetId, rid, iter);
|
uWarn("rsetId:%d, rid:0x%" PRIx64 " iter:%d", rsetId, rid, iter);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pNode == NULL) {
|
if (pNode == NULL) {
|
||||||
uError("rsetId:%d rid:%" PRId64 " not there, quit", rsetId, rid);
|
uError("rsetId:%d, rid:0x%" PRIx64 " not there, quit", rsetId, rid);
|
||||||
terrno = TSDB_CODE_REF_NOT_EXIST;
|
terrno = TSDB_CODE_REF_NOT_EXIST;
|
||||||
taosUnlockList(pSet->lockedBy + hash);
|
taosUnlockList(pSet->lockedBy + hash);
|
||||||
taosDecRsetCount(pSet);
|
taosDecRsetCount(pSet);
|
||||||
|
@ -345,9 +345,9 @@ void *taosIterateRef(int32_t rsetId, int64_t rid) {
|
||||||
pNode->count++; // acquire it
|
pNode->count++; // acquire it
|
||||||
newP = pNode->p;
|
newP = pNode->p;
|
||||||
taosUnlockList(pSet->lockedBy + hash);
|
taosUnlockList(pSet->lockedBy + hash);
|
||||||
uTrace("rsetId:%d p:%p rid:%" PRId64 " is returned", rsetId, newP, rid);
|
uTrace("rsetId:%d, p:%p rid:0x%" PRIx64 " is returned", rsetId, newP, rid);
|
||||||
} else {
|
} else {
|
||||||
uTrace("rsetId:%d the list is over", rsetId);
|
uTrace("rsetId:%d, the list is over", rsetId);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rid > 0) taosReleaseRef(rsetId, rid); // release the current one
|
if (rid > 0) taosReleaseRef(rsetId, rid); // release the current one
|
||||||
|
@ -371,13 +371,13 @@ int32_t taosListRef() {
|
||||||
|
|
||||||
if (pSet->state == TSDB_REF_STATE_EMPTY) continue;
|
if (pSet->state == TSDB_REF_STATE_EMPTY) continue;
|
||||||
|
|
||||||
uInfo("rsetId:%d state:%d count:%d", i, pSet->state, pSet->count);
|
uInfo("rsetId:%d, state:%d count:%d", i, pSet->state, pSet->count);
|
||||||
|
|
||||||
for (int32_t j = 0; j < pSet->max; ++j) {
|
for (int32_t j = 0; j < pSet->max; ++j) {
|
||||||
pNode = pSet->nodeList[j];
|
pNode = pSet->nodeList[j];
|
||||||
|
|
||||||
while (pNode) {
|
while (pNode) {
|
||||||
uInfo("rsetId:%d p:%p rid:%" PRId64 "count:%d", i, pNode->p, pNode->rid, pNode->count);
|
uInfo("rsetId:%d, p:%p rid:0x%" PRIx64 "count:%d", i, pNode->p, pNode->rid, pNode->count);
|
||||||
pNode = pNode->next;
|
pNode = pNode->next;
|
||||||
num++;
|
num++;
|
||||||
}
|
}
|
||||||
|
@ -398,18 +398,18 @@ static int32_t taosDecRefCount(int32_t rsetId, int64_t rid, int32_t remove, int3
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
|
|
||||||
if (rsetId < 0 || rsetId >= TSDB_REF_OBJECTS) {
|
if (rsetId < 0 || rsetId >= TSDB_REF_OBJECTS) {
|
||||||
uTrace("rsetId:%d rid:%" PRId64 " failed to remove, rsetId not valid", rsetId, rid);
|
uTrace("rsetId:%d, rid:0x%" PRIx64 " failed to remove, rsetId not valid", rsetId, rid);
|
||||||
return terrno = TSDB_CODE_REF_INVALID_ID;
|
return terrno = TSDB_CODE_REF_INVALID_ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rid <= 0) {
|
if (rid <= 0) {
|
||||||
uTrace("rsetId:%d rid:%" PRId64 " failed to remove, rid not valid", rsetId, rid);
|
uTrace("rsetId:%d, rid:0x%" PRIx64 " failed to remove, rid not valid", rsetId, rid);
|
||||||
return terrno = TSDB_CODE_REF_NOT_EXIST;
|
return terrno = TSDB_CODE_REF_NOT_EXIST;
|
||||||
}
|
}
|
||||||
|
|
||||||
pSet = tsRefSetList + rsetId;
|
pSet = tsRefSetList + rsetId;
|
||||||
if (pSet->state == TSDB_REF_STATE_EMPTY) {
|
if (pSet->state == TSDB_REF_STATE_EMPTY) {
|
||||||
uTrace("rsetId:%d rid:%" PRId64 " failed to remove, cleaned", rsetId, rid);
|
uTrace("rsetId:%d, rid:0x%" PRIx64 " failed to remove, cleaned", rsetId, rid);
|
||||||
return terrno = TSDB_CODE_REF_ID_REMOVED;
|
return terrno = TSDB_CODE_REF_ID_REMOVED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -425,7 +425,7 @@ static int32_t taosDecRefCount(int32_t rsetId, int64_t rid, int32_t remove, int3
|
||||||
}
|
}
|
||||||
|
|
||||||
if (iter >= TSDB_REF_ITER_THRESHOLD) {
|
if (iter >= TSDB_REF_ITER_THRESHOLD) {
|
||||||
uWarn("rsetId:%d rid:%" PRId64 " iter:%d", rsetId, rid, iter);
|
uWarn("rsetId:%d, rid:0x%" PRIx64 " iter:%d", rsetId, rid, iter);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pNode) {
|
if (pNode) {
|
||||||
|
@ -444,10 +444,10 @@ static int32_t taosDecRefCount(int32_t rsetId, int64_t rid, int32_t remove, int3
|
||||||
}
|
}
|
||||||
released = 1;
|
released = 1;
|
||||||
} else {
|
} else {
|
||||||
uTrace("rsetId:%d p:%p rid:%" PRId64 " is released, remain count %d", rsetId, pNode->p, rid, pNode->count);
|
uTrace("rsetId:%d, p:%p rid:0x%" PRIx64 " is released, remain count %d", rsetId, pNode->p, rid, pNode->count);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
uTrace("rsetId:%d rid:%" PRId64 " is not there, failed to release/remove", rsetId, rid);
|
uTrace("rsetId:%d, rid:0x%" PRIx64 " is not there, failed to release/remove", rsetId, rid);
|
||||||
terrno = TSDB_CODE_REF_NOT_EXIST;
|
terrno = TSDB_CODE_REF_NOT_EXIST;
|
||||||
code = terrno;
|
code = terrno;
|
||||||
}
|
}
|
||||||
|
@ -455,7 +455,7 @@ static int32_t taosDecRefCount(int32_t rsetId, int64_t rid, int32_t remove, int3
|
||||||
taosUnlockList(pSet->lockedBy + hash);
|
taosUnlockList(pSet->lockedBy + hash);
|
||||||
|
|
||||||
if (released) {
|
if (released) {
|
||||||
uTrace("rsetId:%d p:%p rid:%" PRId64 " is removed, count:%d, free mem: %p", rsetId, pNode->p, rid, pSet->count,
|
uTrace("rsetId:%d, p:%p rid:0x%" PRIx64 " is removed, count:%d, free mem: %p", rsetId, pNode->p, rid, pSet->count,
|
||||||
pNode);
|
pNode);
|
||||||
(*pSet->fp)(pNode->p);
|
(*pSet->fp)(pNode->p);
|
||||||
taosMemoryFree(pNode);
|
taosMemoryFree(pNode);
|
||||||
|
@ -489,12 +489,12 @@ static void taosInitRefModule(void) { (void)taosThreadMutexInit(&tsRefMutex, NUL
|
||||||
|
|
||||||
static void taosIncRsetCount(SRefSet *pSet) {
|
static void taosIncRsetCount(SRefSet *pSet) {
|
||||||
(void)atomic_add_fetch_32(&pSet->count, 1);
|
(void)atomic_add_fetch_32(&pSet->count, 1);
|
||||||
// uTrace("rsetId:%d inc count:%d", pSet->rsetId, count);
|
// uTrace("rsetId:%d, inc count:%d", pSet->rsetId, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void taosDecRsetCount(SRefSet *pSet) {
|
static void taosDecRsetCount(SRefSet *pSet) {
|
||||||
int32_t count = atomic_sub_fetch_32(&pSet->count, 1);
|
int32_t count = atomic_sub_fetch_32(&pSet->count, 1);
|
||||||
// uTrace("rsetId:%d dec count:%d", pSet->rsetId, count);
|
// uTrace("rsetId:%d, dec count:%d", pSet->rsetId, count);
|
||||||
|
|
||||||
if (count > 0) return;
|
if (count > 0) return;
|
||||||
|
|
||||||
|
@ -509,7 +509,7 @@ static void taosDecRsetCount(SRefSet *pSet) {
|
||||||
taosMemoryFreeClear(pSet->lockedBy);
|
taosMemoryFreeClear(pSet->lockedBy);
|
||||||
|
|
||||||
tsRefSetNum--;
|
tsRefSetNum--;
|
||||||
uTrace("rsetId:%d is cleaned, refSetNum:%d count:%d", pSet->rsetId, tsRefSetNum, pSet->count);
|
uTrace("rsetId:%d, is cleaned, refSetNum:%d count:%d", pSet->rsetId, tsRefSetNum, pSet->count);
|
||||||
}
|
}
|
||||||
|
|
||||||
(void)taosThreadMutexUnlock(&tsRefMutex);
|
(void)taosThreadMutexUnlock(&tsRefMutex);
|
||||||
|
|
Loading…
Reference in New Issue