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

taosdata / TDengine / #3653

14 Mar 2025 08:10AM UTC coverage: 22.565% (-41.0%) from 63.596%
#3653

push

travis-ci

web-flow
feat(keep): support keep on super table level. (#30097)

* Feat: support use keep while create super table.

* Test(keep): add test for create super table with keep option.

* Feat(keep): Add tmsg for create keep.

* Feat(keep): support alter table option keep.

* Fix(keep): Add baisc test for alter table option.

* Fix(keep): memory leek.

* Feat(keep): add keep to metaEntry&metaCache and fix earliestTs with stn keep.

* Test(keep): add some cases for select with stb keep.

* Fix: fix ci core while alter stb.

* Feat(keep): delete expired data in super table level.

* Feat: remove get stb keep while query.

* Fix : build error.

* Revert "Fix : build error."

This reverts commit 0ed66e4e8.

* Revert "Feat(keep): delete expired data in super table level."

This reverts commit 36330f6b4.

* Fix : build errors.

* Feat : support restart taosd.

* Fix : alter table comment problems.

* Test : add tests for super table keep.

* Fix: change sdb stb reserve size.

* Test: add more tests.

* Feat: Disable normal tables and sub tables from setting the keep parameter

* Fix: add more checks to avoid unknown address.

* Docs: Add docs for stable keep.

* Fix: some review changes.

* Fix: review errors.

49248 of 302527 branches covered (16.28%)

Branch coverage included in aggregate %.

53 of 99 new or added lines in 12 files covered. (53.54%)

155872 existing lines in 443 files now uncovered.

87359 of 302857 relevant lines covered (28.84%)

570004.22 hits per line

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

37.93
/source/dnode/mgmt/node_util/src/dmUtil.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 "dmUtil.h"
18

19
const char *dmStatStr(EDndRunStatus stype) {
32✔
20
  switch (stype) {
32!
21
    case DND_STAT_INIT:
8✔
22
      return "init";
8✔
23
    case DND_STAT_RUNNING:
16✔
24
      return "running";
16✔
25
    case DND_STAT_STOPPED:
8✔
26
      return "stopped";
8✔
27
    default:
×
28
      return "UNKNOWN";
×
29
  }
30
}
31

32
const char *dmNodeName(EDndNodeType ntype) {
40✔
33
  switch (ntype) {
40✔
34
    case VNODE:
8✔
35
      return "vnode";
8✔
36
    case QNODE:
8✔
37
      return "qnode";
8✔
38
    case SNODE:
8✔
39
      return "snode";
8✔
40
    case MNODE:
8✔
41
      return "mnode";
8✔
42
    default:
8✔
43
      return "dnode";
8✔
44
  }
45
}
46

47
void *dmSetMgmtHandle(SArray *pArray, tmsg_t msgType, void *nodeMsgFp, bool needCheckVgId) {
2,744✔
48
  SMgmtHandle handle = {
2,744✔
49
      .msgType = msgType,
50
      .msgFp = (NodeMsgFp)nodeMsgFp,
2,744✔
51
      .needCheckVgId = needCheckVgId,
52
  };
53

54
  return taosArrayPush(pArray, &handle);
2,744✔
55
}
56

UNCOV
57
void dmGetMonitorSystemInfo(SMonSysInfo *pInfo) {
×
UNCOV
58
  int32_t code = 0;
×
UNCOV
59
  code = taosGetCpuUsage(&pInfo->cpu_system, &pInfo->cpu_engine);
×
UNCOV
60
  if (code != 0) {
×
61
    dError("failed to get cpu usage since %s", tstrerror(code));
×
62
  }
UNCOV
63
  code = taosGetCpuCores(&pInfo->cpu_cores, false);
×
UNCOV
64
  if (code != 0) {
×
65
    dError("failed to get cpu cores since %s", tstrerror(code));
×
66
  }
UNCOV
67
  code = taosGetProcMemory(&pInfo->mem_engine);
×
UNCOV
68
  if (code != 0) {
×
69
    dError("failed to get proc memory since %s", tstrerror(code));
×
70
  }
UNCOV
71
  code = taosGetSysMemory(&pInfo->mem_system);
×
UNCOV
72
  if (code != 0) {
×
73
    dError("failed to get sys memory since %s", tstrerror(code));
×
74
  }
UNCOV
75
  pInfo->mem_total = tsTotalMemoryKB;
×
UNCOV
76
  pInfo->disk_engine = 0;
×
UNCOV
77
  pInfo->disk_used = tsDataSpace.size.used;
×
UNCOV
78
  pInfo->disk_total = tsDataSpace.size.total;
×
UNCOV
79
  code = taosGetCardInfoDelta(&pInfo->net_in, &pInfo->net_out);
×
UNCOV
80
  if (code != 0) {
×
81
    dError("failed to get card info since %s", tstrerror(code));
×
82
    taosSetDefaultCardInfoDelta(&pInfo->net_in, &pInfo->net_out);
×
83
  }
UNCOV
84
  code = taosGetProcIODelta(&pInfo->io_read, &pInfo->io_write, &pInfo->io_read_disk, &pInfo->io_write_disk);
×
UNCOV
85
  if (code != 0) {
×
86
    dError("failed to get proc io delta since %s", tstrerror(code));
×
87
    taosSetDefaultProcIODelta(&pInfo->io_read, &pInfo->io_write, &pInfo->io_read_disk, &pInfo->io_write_disk);
×
88
  }
UNCOV
89
  return;
×
90
}
91

92
int32_t dmGetDnodeId(SDnodeData *pData) { return pData->dnodeId; }
16✔
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