chore: code refactor for time series statis

This commit is contained in:
kailixu 2023-10-06 07:37:18 +08:00
parent e4a86aa70a
commit c59498d90a
1 changed files with 30 additions and 31 deletions

View File

@ -591,28 +591,24 @@ static const char *tkAuditStb[TK_AUDIT_STB_NUM] = {"operations"};
// exclude stbs of taoskeeper log // exclude stbs of taoskeeper log
static int32_t vnodeGetTimeSeriesBlackList(SVnode *pVnode) { static int32_t vnodeGetTimeSeriesBlackList(SVnode *pVnode) {
char *dbName = strchr(pVnode->config.dbname, '.'); int32_t tbSize = 0;
if (!dbName) { int32_t tbNum = 0;
return 0; const char **pTbArr = NULL;
} const char *dbName = NULL;
int32_t tbSize = 0;
++dbName; if (!(dbName = strchr(((SVnode *)pVnode)->config.dbname, '.'))) return 0;
if (0 == strncmp(dbName, "log", TSDB_DB_NAME_LEN)) { if (0 == strncmp(++dbName, "log", TSDB_DB_NAME_LEN)) {
tbSize = metaSizeOfTbFilterCache(pVnode, 0); tbNum = TK_LOG_STB_NUM;
if (tbSize < TK_LOG_STB_NUM) { pTbArr = (const char **)&tkLogStb;
for (int32_t i = 0; i < TK_LOG_STB_NUM; ++i) {
tb_uid_t suid = metaGetTableEntryUidByName(pVnode->pMeta, tkLogStb[i]);
if (suid != 0) {
metaPutTbToFilterCache(pVnode, &suid, 0);
}
}
tbSize = metaSizeOfTbFilterCache(pVnode, 0);
}
} else if (0 == strncmp(dbName, "audit", TSDB_DB_NAME_LEN)) { } else if (0 == strncmp(dbName, "audit", TSDB_DB_NAME_LEN)) {
tbNum = TK_AUDIT_STB_NUM;
pTbArr = (const char **)&tkAuditStb;
}
if (tbNum && pTbArr) {
tbSize = metaSizeOfTbFilterCache(pVnode, 0); tbSize = metaSizeOfTbFilterCache(pVnode, 0);
if (tbSize < TK_AUDIT_STB_NUM) { if (tbSize < tbNum) {
for (int32_t i = 0; i < TK_AUDIT_STB_NUM; ++i) { for (int32_t i = 0; i < tbNum; ++i) {
tb_uid_t suid = metaGetTableEntryUidByName(pVnode->pMeta, tkAuditStb[i]); tb_uid_t suid = metaGetTableEntryUidByName(pVnode->pMeta, pTbArr[i]);
if (suid != 0) { if (suid != 0) {
metaPutTbToFilterCache(pVnode, &suid, 0); metaPutTbToFilterCache(pVnode, &suid, 0);
} }
@ -625,18 +621,21 @@ static int32_t vnodeGetTimeSeriesBlackList(SVnode *pVnode) {
} }
int32_t metaInitTbFilterCache(void *pVnode) { int32_t metaInitTbFilterCache(void *pVnode) {
char *dbName = strchr(pVnode->config.dbname, '.'); int32_t tbNum = 0;
if (!dbName) return 0; const char **pTbArr = NULL;
++dbName; const char *dbName = NULL;
if (0 == strncmp(dbName, "log", TSDB_DB_NAME_LEN)) {
for (int32_t i = 0; i < TK_LOG_STB_NUM; ++i) { if (!(dbName = strchr(((SVnode *)pVnode)->config.dbname, '.'))) return 0;
if (metaPutTbToFilterCache(pVnode, &tkLogStb[i], strlen(tkLogStb[i])) != 0) { if (0 == strncmp(++dbName, "log", TSDB_DB_NAME_LEN)) {
return terrno ? terrno : -1; tbNum = TK_LOG_STB_NUM;
} pTbArr = (const char **)&tkLogStb;
}
} else if (0 == strncmp(dbName, "audit", TSDB_DB_NAME_LEN)) { } else if (0 == strncmp(dbName, "audit", TSDB_DB_NAME_LEN)) {
for (int32_t i = 0; i < TK_AUDIT_STB_NUM; ++i) { tbNum = TK_AUDIT_STB_NUM;
if (metaPutTbToFilterCache(pVnode, &tkLogStb[i], strlen(tkAuditStb[i])) != 0) { pTbArr = (const char **)&tkAuditStb;
}
if (tbNum && pTbArr) {
for (int32_t i = 0; i < tbNum; ++i) {
if (metaPutTbToFilterCache(pVnode, &pTbArr[i], strlen(pTbArr[i])) != 0) {
return terrno ? terrno : -1; return terrno ? terrno : -1;
} }
} }