From ef16c330882c7e3cc5a7546158b6bec9e9fa6b4b Mon Sep 17 00:00:00 2001 From: xiao-77 Date: Fri, 6 Dec 2024 16:48:15 +0800 Subject: [PATCH] Add more cases. --- source/common/src/tglobal.c | 8 +- tests/army/alter/alterAllConfig.py | 202 ----------------------------- tests/army/alter/alterConfig.py | 6 + 3 files changed, 10 insertions(+), 206 deletions(-) delete mode 100644 tests/army/alter/alterAllConfig.py diff --git a/source/common/src/tglobal.c b/source/common/src/tglobal.c index 2cffcf100e..9e5d0290cd 100644 --- a/source/common/src/tglobal.c +++ b/source/common/src/tglobal.c @@ -716,7 +716,7 @@ static int32_t taosAddSystemCfg(SConfig *pCfg) { TAOS_CHECK_RETURN(cfgAddLocale(pCfg, "locale", tsLocale, CFG_SCOPE_BOTH, CFG_DYN_BOTH, CFG_CATEGORY_GLOBAL)); TAOS_CHECK_RETURN(cfgAddCharset(pCfg, "charset", tsCharset, CFG_SCOPE_BOTH, CFG_DYN_BOTH, CFG_CATEGORY_GLOBAL)); TAOS_CHECK_RETURN( - cfgAddBool(pCfg, "enableCoreFile", tsEnableCoreFile, CFG_SCOPE_BOTH, CFG_DYN_BOTH, CFG_CATEGORY_GLOBAL)); + cfgAddBool(pCfg, "enableCoreFile", tsEnableCoreFile, CFG_SCOPE_BOTH, CFG_DYN_BOTH_LAZY, CFG_CATEGORY_GLOBAL)); TAOS_CHECK_RETURN( cfgAddFloat(pCfg, "numOfCores", tsNumOfCores, 1, 100000, CFG_SCOPE_BOTH, CFG_DYN_BOTH_LAZY, CFG_CATEGORY_LOCAL)); @@ -791,7 +791,7 @@ static int32_t taosAddServerCfg(SConfig *pCfg) { TAOS_CHECK_RETURN(cfgAddString(pCfg, "encryptAlgorithm", tsEncryptAlgorithm, CFG_SCOPE_SERVER, CFG_DYN_SERVER, CFG_CATEGORY_GLOBAL)); TAOS_CHECK_RETURN(cfgAddString(pCfg, "encryptScope", tsEncryptScope, CFG_SCOPE_SERVER, CFG_DYN_SERVER,CFG_CATEGORY_GLOBAL)); - TAOS_CHECK_RETURN(cfgAddInt32(pCfg, "statusInterval", tsStatusInterval, 1, 30, CFG_SCOPE_SERVER, CFG_DYN_SERVER,CFG_CATEGORY_GLOBAL)); + TAOS_CHECK_RETURN(cfgAddInt32(pCfg, "statusInterval", tsStatusInterval, 1, 30, CFG_SCOPE_SERVER, CFG_DYN_SERVER_LAZY,CFG_CATEGORY_GLOBAL)); TAOS_CHECK_RETURN(cfgAddInt32(pCfg, "maxShellConns", tsMaxShellConns, 10, 50000000, CFG_SCOPE_SERVER, CFG_DYN_NONE, CFG_CATEGORY_LOCAL)); TAOS_CHECK_RETURN(cfgAddInt32(pCfg, "queryBufferSize", tsQueryBufferSize, -1, 500000000000, CFG_SCOPE_SERVER, CFG_DYN_SERVER_LAZY, CFG_CATEGORY_LOCAL)); @@ -835,7 +835,7 @@ static int32_t taosAddServerCfg(SConfig *pCfg) { TAOS_CHECK_RETURN(cfgAddString(pCfg, "monitorFqdn", tsMonitorFqdn, CFG_SCOPE_SERVER, CFG_DYN_SERVER_LAZY, CFG_CATEGORY_LOCAL)); TAOS_CHECK_RETURN(cfgAddInt32(pCfg, "monitorPort", tsMonitorPort, 1, 65056, CFG_SCOPE_SERVER, CFG_DYN_NONE, CFG_CATEGORY_LOCAL)); TAOS_CHECK_RETURN(cfgAddInt32(pCfg, "monitorMaxLogs", tsMonitorMaxLogs, 1, 1000000, CFG_SCOPE_SERVER, CFG_DYN_SERVER,CFG_CATEGORY_GLOBAL)); - TAOS_CHECK_RETURN(cfgAddBool(pCfg, "monitorComp", tsMonitorComp, CFG_SCOPE_SERVER, CFG_DYN_SERVER,CFG_CATEGORY_GLOBAL)); + TAOS_CHECK_RETURN(cfgAddBool(pCfg, "monitorComp", tsMonitorComp, CFG_SCOPE_SERVER, CFG_DYN_SERVER_LAZY,CFG_CATEGORY_GLOBAL)); TAOS_CHECK_RETURN(cfgAddBool(pCfg, "monitorLogProtocol", tsMonitorLogProtocol, CFG_SCOPE_SERVER, CFG_DYN_SERVER,CFG_CATEGORY_GLOBAL)); TAOS_CHECK_RETURN(cfgAddBool(pCfg, "monitorForceV2", tsMonitorForceV2, CFG_SCOPE_SERVER, CFG_DYN_SERVER,CFG_CATEGORY_GLOBAL)); @@ -865,7 +865,7 @@ static int32_t taosAddServerCfg(SConfig *pCfg) { TAOS_CHECK_RETURN(cfgAddInt32(pCfg, "ttlUnit", tsTtlUnit, 1, 86400 * 365, CFG_SCOPE_SERVER, CFG_DYN_NONE,CFG_CATEGORY_GLOBAL)); TAOS_CHECK_RETURN(cfgAddInt32(pCfg, "ttlPushInterval", tsTtlPushIntervalSec, 1, 100000, CFG_SCOPE_SERVER, CFG_DYN_ENT_SERVER,CFG_CATEGORY_GLOBAL)); TAOS_CHECK_RETURN(cfgAddInt32(pCfg, "ttlBatchDropNum", tsTtlBatchDropNum, 0, INT32_MAX, CFG_SCOPE_SERVER, CFG_DYN_ENT_SERVER,CFG_CATEGORY_GLOBAL)); - TAOS_CHECK_RETURN(cfgAddBool(pCfg, "ttlChangeOnWrite", tsTtlChangeOnWrite, CFG_SCOPE_SERVER, CFG_DYN_NONE,CFG_CATEGORY_GLOBAL)); + TAOS_CHECK_RETURN(cfgAddBool(pCfg, "ttlChangeOnWrite", tsTtlChangeOnWrite, CFG_SCOPE_SERVER, CFG_DYN_SERVER,CFG_CATEGORY_GLOBAL)); TAOS_CHECK_RETURN(cfgAddInt32(pCfg, "ttlFlushThreshold", tsTtlFlushThreshold, -1, 1000000, CFG_SCOPE_SERVER, CFG_DYN_ENT_SERVER,CFG_CATEGORY_GLOBAL)); TAOS_CHECK_RETURN(cfgAddInt32(pCfg, "trimVDbIntervalSec", tsTrimVDbIntervalSec, 1, 100000, CFG_SCOPE_SERVER, CFG_DYN_ENT_SERVER,CFG_CATEGORY_GLOBAL)); TAOS_CHECK_RETURN(cfgAddInt32(pCfg, "s3MigrateIntervalSec", tsS3MigrateIntervalSec, 600, 100000, CFG_SCOPE_SERVER, CFG_DYN_ENT_SERVER,CFG_CATEGORY_GLOBAL)); diff --git a/tests/army/alter/alterAllConfig.py b/tests/army/alter/alterAllConfig.py deleted file mode 100644 index f5de2232ab..0000000000 --- a/tests/army/alter/alterAllConfig.py +++ /dev/null @@ -1,202 +0,0 @@ -################################################################### -# Copyright (c) 2016 by TAOS Technologies, Inc. -# All rights reserved. -# -# This file is proprietary and confidential to TAOS Technologies. -# No part of this file may be reproduced, stored, transmitted, -# disclosed or used in any form or by any means other than as -# expressly provided by the written permission from Jianhui Tao -# -################################################################### - -# -*- coding: utf-8 -*- - -import sys -import time - -import taos -import frame -import frame.etool - -from frame.log import * -from frame.cases import * -from frame.sql import * -from frame.caseBase import * -from frame.epath import * -from frame.srvCtl import * -from frame import * - -class ConfigParam: - def __init__(self, name, default_value, value_range, scope,category): - self.name = name - self.default_value = default_value - self.value_range = value_range - self.scope = scope - self.category = category - - - -class TDTestCase(TBase): - def alterCachemodel(self): - """Add test case for altering cache model(TS-5390) - """ - # drop database if exists - tdSql.execute(f"drop database if exists db3590;") - # create database with cachemodel 'none' - tdSql.execute(f"create database db3590 vgroups 1 replica 1 cachemodel 'none';") - tdSql.execute("use db3590;") - tdSql.execute("create table ntb1 (ts timestamp, ival1 int);") - tdSql.execute("insert into ntb1 values(now, 1);") - tdSql.execute("flush database db3590;") - # alter table schema - tdSql.execute("alter table ntb1 add column ival2 int;") - tdSql.execute("insert into ntb1 values(now, 2, NULL);") - # alter table schema again - tdSql.execute("alter table ntb1 add column ival3 int;") - # alter database with cachemodel 'both‘ - tdSql.execute("alter database db3590 cachemodel 'both';") - # wait for cachemodel avaiable - time.sleep(5) - tdSql.query("select last(*) from ntb1;") - - def alterTtlConfig(self): - """Add test case for altering ttl config - """ - db_name = "db" - tdSql.execute(f"create database {db_name};") - tdSql.execute(f"use {db_name};") - tdSql.execute("create table t1 (ts timestamp, a int);") - - ttl_min_value = 0 - ttl_max_value = 2147483647 - # verify ttl min value - tdSql.execute(f"alter table t1 ttl {ttl_min_value}") - tdSql.query("select `ttl` from information_schema.ins_tables where table_name='t1' and db_name='db';") - tdSql.checkData(0, 0, ttl_min_value) - # verify ttl max value - tdSql.execute(f"alter table t1 ttl {ttl_max_value}") - tdSql.query("select `ttl` from information_schema.ins_tables where table_name='t1' and db_name='db';") - tdSql.checkData(0, 0, ttl_max_value) - # verify abnormal ttl value - tdSql.error(f"alter table t1 ttl {ttl_max_value + 1}", expectErrInfo="Value out of range") - tdSql.error(f"alter table t1 ttl {ttl_min_value - 1}", expectErrInfo="syntax error") - - # TS-5291 - tdSql.execute("create database db5291 vgroups 1;") - tdSql.execute("use db5291;") - tdSql.execute("create table ttltb1(ts timestamp, ival int) ttl 1;") - tdSql.execute("create table ttltb2(ts timestamp, ival int) ttl 1;") - tdSql.execute("drop table ttltb1;") - tdSql.execute("flush database db5291;") - tdSql.execute("drop table ttltb2;") - # restart taosd - sc.dnodeStopAll() - sc.dnodeStart(1) - sc.dnodeStart(2) - sc.dnodeStart(3) - tdSql.execute("flush database db5291;") - - def alterSupportVnodes(self): - tdLog.info(f"test function of altering supportVnodes") - - tdSql.execute("alter dnode 1 'supportVnodes' '128'") - time.sleep(1) - tdSql.query('show dnodes') - tdSql.checkData(0, 3, "128") - - tdSql.execute("alter dnode 1 'supportVnodes' '64'") - time.sleep(1) - tdSql.query('show dnodes') - tdSql.checkData(0, 3, "64") - - def checkKeyValue(self, res, key, value, ikey = 0, ival = 1): - result = False - for row in res: - if row[ikey] == key: - if row[ival] != value: - raise Exception(f"key:{key} value:{row[ival]} != {value}") - else: - tdLog.info(f"key:{key} value:{row[ival]} == {value}") - result = True - break - if not result: - raise Exception(f"key:{key} not found") - - def checkRows(self, sql, nExpect, nRetry): - for i in range(nRetry): - res = tdSql.getResult(sql) - if len(res) == nExpect: - break - time.sleep(1) - if len(res) != nExpect: - raise Exception(f"rows:{len(res)} != {nExpect}") - - def alterBypassFlag(self): - """Add test case for altering bypassFlag(TD-32907) - """ - tdSql.execute(f"drop database if exists db") - tdSql.execute(f"create database db") - tdSql.execute("use db") - self.checkKeyValue(tdSql.getResult("show local variables;"), "bypassFlag", "0") - self.checkKeyValue(tdSql.getResult("show dnode 1 variables like 'bypassFlag'"), "bypassFlag", "0", 1, 2) - tdSql.execute("alter local 'bypassFlag 1'") - self.checkKeyValue(tdSql.getResult("show local variables;"), "bypassFlag", "1") - self.checkKeyValue(tdSql.getResult("show dnode 1 variables like 'bypassFlag'"), "bypassFlag", "0", 1, 2) - tdSql.execute("create table stb0(ts timestamp, c0 int) tags(t0 int)") - tdSql.execute("create table ctb0 using stb0 tags(0)") - tdSql.execute("insert into ctb0 values(now, 1)") - tdSql.query("select * from stb0") - tdSql.checkRows(0) - tdSql.execute("alter local 'bypassFlag 0'") - tdSql.execute("alter all dnodes 'bypassFlag 2'") - self.checkKeyValue(tdSql.getResult("show local variables"), "bypassFlag", "0") - self.checkKeyValue(tdSql.getResult("show dnode 1 variables like 'bypassFlag'"), "bypassFlag", "2", 1, 2) - tdSql.execute("insert into ctb0 values(now, 2)") - tdSql.query("select * from stb0") - tdSql.checkRows(0) - tdSql.execute("alter all dnodes 'bypassFlag 4'") - self.checkKeyValue(tdSql.getResult("show dnode 1 variables like 'bypassFlag'"), "bypassFlag", "4", 1, 2) - tdSql.execute("insert into ctb0 values(now, 4)") - tdSql.execute("insert into ctb1 using stb0 tags(1) values(now, 10)") - tdSql.query("select * from stb0") - tdSql.checkRows(0) - tdSql.query("show db.tables") - tdSql.checkRows(2) - tdSql.execute("alter all dnodes 'bypassFlag 8'") - self.checkKeyValue(tdSql.getResult("show dnode 1 variables like 'bypassFlag'"), "bypassFlag", "8", 1, 2) - tdSql.execute("insert into ctb0 values(now, 8)") - tdSql.execute("insert into ctb1 values(now, 18)") - tdSql.query("select * from stb0") - tdSql.checkRows(2) - tdSql.execute("flush database db") - self.checkRows("select * from stb0", 0, 10) - tdSql.execute("alter all dnodes 'bypassFlag 0'") - self.checkKeyValue(tdSql.getResult("show local variables"), "bypassFlag", "0") - self.checkKeyValue(tdSql.getResult("show dnode 1 variables like 'bypassFlag'"), "bypassFlag", "0", 1, 2) - tdSql.execute("insert into ctb0 values(now, 80)") - tdSql.execute("insert into ctb1 values(now, 180)") - tdSql.query("select * from stb0") - tdSql.checkRows(2) - tdSql.execute("flush database db") - for i in range(5): - self.checkRows("select * from stb0", 2, 1) - time.sleep(1) - - # run - def run(self): - tdLog.debug(f"start to excute {__file__}") - - # TS-4721 - self.alterSupportVnodes() - # TS-5191 - self.alterTtlConfig() - # TS-5390 - self.alterCachemodel() - # TD-32907 - self.alterBypassFlag() - - tdLog.success(f"{__file__} successfully executed") - - -tdCases.addLinux(__file__, TDTestCase()) -tdCases.addWindows(__file__, TDTestCase()) diff --git a/tests/army/alter/alterConfig.py b/tests/army/alter/alterConfig.py index 6a22dd014f..3fd0a51576 100644 --- a/tests/army/alter/alterConfig.py +++ b/tests/army/alter/alterConfig.py @@ -173,6 +173,10 @@ class TDTestCase(TBase): self.checkRows("select * from stb0", 2, 1) time.sleep(1) + def alter_err_case(self): + tdSql.error(f"alter local 'audit 0'",expectErrInfo="Config not found") + tdSql.error(f"alter dnode 1 'audit 1'",expectErrInfo="Invalid config option") + # run def run(self): tdLog.debug(f"start to excute {__file__}") @@ -185,6 +189,8 @@ class TDTestCase(TBase): self.alterCachemodel() # TD-32907 self.alterBypassFlag() + # TS-5007 + self.alter_err_case() tdLog.success(f"{__file__} successfully executed")