• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

taosdata / TDengine / #3621

22 Feb 2025 11:44AM UTC coverage: 2.037% (-61.5%) from 63.573%
#3621

push

travis-ci

web-flow
Merge pull request #29874 from taosdata/merge/mainto3.0

merge: from main to 3.0 branch

4357 of 287032 branches covered (1.52%)

Branch coverage included in aggregate %.

0 of 174 new or added lines in 18 files covered. (0.0%)

213359 existing lines in 469 files now uncovered.

7260 of 283369 relevant lines covered (2.56%)

23737.72 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/source/dnode/mgmt/mgmt_dnode/src/dmInt.c
1
/*
2
 * Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com>
3
 *
4
 * This program is free software: you can use, redistribute, and/or modify
5
 * it under the terms of the GNU Affero General Public License, version 3
6
 * or later ("AGPL"), as published by the Free Software Foundation.
7
 *
8
 * This program is distributed in the hope that it will be useful, but WITHOUT
9
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10
 * FITNESS FOR A PARTICULAR PURPOSE.
11
 *
12
 * You should have received a copy of the GNU Affero General Public License
13
 * along with this program. If not, see <http:www.gnu.org/licenses/>.
14
 */
15

16
#define _DEFAULT_SOURCE
17
#include "dmInt.h"
18
#include "libs/function/tudf.h"
19
#include "tanalytics.h"
20

UNCOV
21
static int32_t dmStartMgmt(SDnodeMgmt *pMgmt) {
×
UNCOV
22
  int32_t code = 0;
×
UNCOV
23
  if ((code = dmStartStatusThread(pMgmt)) != 0) {
×
24
    return code;
×
25
  }
26

UNCOV
27
  if ((code = dmStartConfigThread(pMgmt)) != 0) {
×
28
    return code;
×
29
  }
UNCOV
30
  if ((code = dmStartStatusInfoThread(pMgmt)) != 0) {
×
31
    return code;
×
32
  }
33
#if defined(TD_ENTERPRISE)
UNCOV
34
  if ((code = dmStartNotifyThread(pMgmt)) != 0) {
×
35
    return code;
×
36
  }
37
#endif
UNCOV
38
  if ((code = dmStartMonitorThread(pMgmt)) != 0) {
×
39
    return code;
×
40
  }
UNCOV
41
  if ((code = dmStartAuditThread(pMgmt)) != 0) {
×
42
    return code;
×
43
  }
UNCOV
44
  if ((code = dmStartCrashReportThread(pMgmt)) != 0) {
×
45
    return code;
×
46
  }
UNCOV
47
  return 0;
×
48
}
49

UNCOV
50
static void dmStopMgmt(SDnodeMgmt *pMgmt) {
×
UNCOV
51
  pMgmt->pData->stopped = true;
×
UNCOV
52
  dmStopMonitorThread(pMgmt);
×
UNCOV
53
  dmStopAuditThread(pMgmt);
×
UNCOV
54
  dmStopStatusThread(pMgmt);
×
UNCOV
55
  dmStopConfigThread(pMgmt);
×
UNCOV
56
  dmStopStatusInfoThread(pMgmt);
×
57
#if defined(TD_ENTERPRISE)
UNCOV
58
  dmStopNotifyThread(pMgmt);
×
59
#endif
UNCOV
60
  dmStopCrashReportThread(pMgmt);
×
UNCOV
61
}
×
62

UNCOV
63
static int32_t dmOpenMgmt(SMgmtInputOpt *pInput, SMgmtOutputOpt *pOutput) {
×
UNCOV
64
  int32_t     code = 0;
×
UNCOV
65
  SDnodeMgmt *pMgmt = taosMemoryCalloc(1, sizeof(SDnodeMgmt));
×
UNCOV
66
  if (pMgmt == NULL) {
×
67
    return terrno;
×
68
  }
69

UNCOV
70
  pMgmt->pData = pInput->pData;
×
UNCOV
71
  pMgmt->msgCb = pInput->msgCb;
×
UNCOV
72
  pMgmt->pTfs = pInput->pTfs;
×
UNCOV
73
  pMgmt->path = pInput->path;
×
UNCOV
74
  pMgmt->name = pInput->name;
×
UNCOV
75
  pMgmt->processCreateNodeFp = pInput->processCreateNodeFp;
×
UNCOV
76
  pMgmt->processAlterNodeTypeFp = pInput->processAlterNodeTypeFp;
×
UNCOV
77
  pMgmt->processDropNodeFp = pInput->processDropNodeFp;
×
UNCOV
78
  pMgmt->sendMonitorReportFp = pInput->sendMonitorReportFp;
×
UNCOV
79
  pMgmt->monitorCleanExpiredSamplesFp = pInput->monitorCleanExpiredSamplesFp;
×
UNCOV
80
  pMgmt->sendAuditRecordsFp = pInput->sendAuditRecordFp;
×
UNCOV
81
  pMgmt->getVnodeLoadsFp = pInput->getVnodeLoadsFp;
×
UNCOV
82
  pMgmt->getVnodeLoadsLiteFp = pInput->getVnodeLoadsLiteFp;
×
UNCOV
83
  pMgmt->getMnodeLoadsFp = pInput->getMnodeLoadsFp;
×
UNCOV
84
  pMgmt->getQnodeLoadsFp = pInput->getQnodeLoadsFp;
×
85

UNCOV
86
  if ((code = dmStartWorker(pMgmt)) != 0) {
×
87
    return code;
×
88
  }
89

UNCOV
90
  if ((code = udfStartUdfd(pMgmt->pData->dnodeId)) != 0) {
×
UNCOV
91
    dError("failed to start udfd since %s", tstrerror(code));
×
92
  }
93

UNCOV
94
  if ((code = taosAnalyticsInit()) != 0) {
×
95
    dError("failed to init analysis env since %s", tstrerror(code));
×
96
  }
97

UNCOV
98
  pOutput->pMgmt = pMgmt;
×
UNCOV
99
  return 0;
×
100
}
101

UNCOV
102
static void dmCloseMgmt(SDnodeMgmt *pMgmt) {
×
UNCOV
103
  dmStopWorker(pMgmt);
×
UNCOV
104
  taosMemoryFree(pMgmt);
×
UNCOV
105
}
×
106

UNCOV
107
static int32_t dmRequireMgmt(const SMgmtInputOpt *pInput, bool *required) {
×
UNCOV
108
  *required = true;
×
UNCOV
109
  return 0;
×
110
}
111

UNCOV
112
SMgmtFunc dmGetMgmtFunc() {
×
UNCOV
113
  SMgmtFunc mgmtFunc = {0};
×
UNCOV
114
  mgmtFunc.openFp = dmOpenMgmt;
×
UNCOV
115
  mgmtFunc.closeFp = (NodeCloseFp)dmCloseMgmt;
×
UNCOV
116
  mgmtFunc.startFp = (NodeStartFp)dmStartMgmt;
×
UNCOV
117
  mgmtFunc.stopFp = (NodeStopFp)dmStopMgmt;
×
UNCOV
118
  mgmtFunc.requiredFp = dmRequireMgmt;
×
UNCOV
119
  mgmtFunc.getHandlesFp = dmGetMsgHandles;
×
120

UNCOV
121
  return mgmtFunc;
×
122
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc