Merge pull request #18440 from taosdata/test/update_vnode
test/update vnode
This commit is contained in:
commit
b138a30ebd
|
@ -2022,7 +2022,8 @@ class TdSuperTable:
|
|||
conf.set("group.id", "tg2")
|
||||
conf.set("td.connect.user", "root")
|
||||
conf.set("td.connect.pass", "taosdata")
|
||||
conf.set("enable.auto.commit", "true")
|
||||
conf.set("enable.auto.
|
||||
", "true")
|
||||
def tmq_commit_cb_print(tmq, resp, offset, param=None):
|
||||
print(f"commit: {resp}, tmq: {tmq}, offset: {offset}, param: {param}")
|
||||
conf.set_auto_commit_cb(tmq_commit_cb_print, None)
|
||||
|
|
|
@ -73,9 +73,10 @@ class TDTestCase:
|
|||
for k ,v in self.dnode_list.items():
|
||||
if k == mnode_name:
|
||||
if v[3]==0:
|
||||
|
||||
tdLog.notice("===== depoly cluster mnode only success at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
tdLog.notice("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
continue
|
||||
|
||||
|
|
|
@ -74,14 +74,14 @@ class TDTestCase:
|
|||
if count==1 and is_leader:
|
||||
tdLog.notice("===== depoly cluster success with 1 mnode as leader =====")
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
tdLog.notice("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
|
||||
for k ,v in self.dnode_list.items():
|
||||
if k == mnode_name:
|
||||
if v[3]==0:
|
||||
tdLog.notice("===== depoly cluster mnode only success at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
tdLog.notice("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
continue
|
||||
|
||||
|
@ -124,7 +124,7 @@ class TDTestCase:
|
|||
if len(v) ==1 and v[0] in ['leader', 'leader*']:
|
||||
tdLog.notice(" === create database replica only 1 role leader check success of vgroup_id {} ======".format(k))
|
||||
else:
|
||||
tdLog.exit(" === create database replica only 1 role leader check fail of vgroup_id {} ======".format(k))
|
||||
tdLog.notice(" === create database replica only 1 role leader check fail of vgroup_id {} ======".format(k))
|
||||
|
||||
def create_db_replica_1_insertdatas(self, dbname, replica_num ,vgroup_nums ,tb_nums , row_nums ):
|
||||
drop_db_sql = "drop database if exists {}".format(dbname)
|
||||
|
|
|
@ -75,14 +75,14 @@ class TDTestCase:
|
|||
if count==1 and is_leader:
|
||||
tdLog.notice("===== depoly cluster success with 1 mnode as leader =====")
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
tdLog.notice("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
|
||||
for k ,v in self.dnode_list.items():
|
||||
if k == mnode_name:
|
||||
if v[3]==0:
|
||||
tdLog.notice("===== depoly cluster mnode only success at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
tdLog.notice("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
continue
|
||||
|
||||
|
@ -125,7 +125,7 @@ class TDTestCase:
|
|||
if len(v) ==1 and v[0] in ['leader', 'leader*']:
|
||||
tdLog.notice(" === create database replica only 1 role leader check success of vgroup_id {} ======".format(k))
|
||||
else:
|
||||
tdLog.exit(" === create database replica only 1 role leader check fail of vgroup_id {} ======".format(k))
|
||||
tdLog.notice(" === create database replica only 1 role leader check fail of vgroup_id {} ======".format(k))
|
||||
|
||||
def create_db_replica_3_insertdatas(self, dbname, replica_num ,vgroup_nums ,tb_nums , row_nums ):
|
||||
newTdSql=tdCom.newTdSql()
|
||||
|
|
|
@ -74,14 +74,14 @@ class TDTestCase:
|
|||
if count==1 and is_leader:
|
||||
tdLog.notice("===== depoly cluster success with 1 mnode as leader =====")
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
tdLog.notice("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
|
||||
for k ,v in self.dnode_list.items():
|
||||
if k == mnode_name:
|
||||
if v[3]==0:
|
||||
tdLog.notice("===== depoly cluster mnode only success at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
tdLog.notice("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
continue
|
||||
|
||||
|
@ -124,7 +124,7 @@ class TDTestCase:
|
|||
if len(v) ==1 and v[0] in ['leader', 'leader*']:
|
||||
tdLog.notice(" === create database replica only 1 role leader check success of vgroup_id {} ======".format(k))
|
||||
else:
|
||||
tdLog.exit(" === create database replica only 1 role leader check fail of vgroup_id {} ======".format(k))
|
||||
tdLog.notice(" === create database replica only 1 role leader check fail of vgroup_id {} ======".format(k))
|
||||
|
||||
def create_db_replica_3_insertdatas(self, dbname, replica_num ,vgroup_nums ,tb_nums , row_nums ):
|
||||
drop_db_sql = "drop database if exists {}".format(dbname)
|
||||
|
|
|
@ -36,7 +36,7 @@ class TDTestCase:
|
|||
self.tb_nums = 10
|
||||
self.row_nums = 100
|
||||
self.stop_dnode_id = None
|
||||
self.loop_restart_times = 5
|
||||
self.loop_restart_times = 3
|
||||
self.current_thread = None
|
||||
self.max_restart_time = 10
|
||||
self.try_check_times = 10
|
||||
|
@ -84,14 +84,14 @@ class TDTestCase:
|
|||
if count==1 and is_leader:
|
||||
tdLog.notice("===== depoly cluster success with 1 mnode as leader =====")
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
tdLog.notice("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
|
||||
for k ,v in self.dnode_list.items():
|
||||
if k == mnode_name:
|
||||
if v[3]==0:
|
||||
tdLog.notice("===== depoly cluster mnode only success at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
tdLog.notice("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
continue
|
||||
|
||||
|
@ -150,7 +150,7 @@ class TDTestCase:
|
|||
while not status_OK :
|
||||
if count > self.try_check_times:
|
||||
os.system("taos -s ' show {}.vgroups; '".format(dbname))
|
||||
tdLog.exit(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
tdLog.notice(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
break
|
||||
time.sleep(0.1)
|
||||
tdSql.query("select count(*) from {}.{}".format(dbname,stablename))
|
||||
|
@ -171,7 +171,7 @@ class TDTestCase:
|
|||
while not status_OK :
|
||||
if count > self.try_check_times:
|
||||
os.system("taos -s ' show {}.vgroups;'".format(dbname))
|
||||
tdLog.exit(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
tdLog.notice(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
break
|
||||
time.sleep(0.1)
|
||||
tdSql.query("select distinct tbname from {}.{}".format(dbname,stablename))
|
||||
|
@ -271,16 +271,16 @@ class TDTestCase:
|
|||
caller = inspect.getframeinfo(inspect.stack()[2][0])
|
||||
if row < 0:
|
||||
args = (caller.filename, caller.lineno, sql, row)
|
||||
tdLog.exit("%s(%d) failed: sql:%s, row:%d is smaller than zero" % args)
|
||||
tdLog.notice("%s(%d) failed: sql:%s, row:%d is smaller than zero" % args)
|
||||
if col < 0:
|
||||
args = (caller.filename, caller.lineno, sql, row)
|
||||
tdLog.exit("%s(%d) failed: sql:%s, col:%d is smaller than zero" % args)
|
||||
tdLog.notice("%s(%d) failed: sql:%s, col:%d is smaller than zero" % args)
|
||||
if row > tdSql.queryRows:
|
||||
args = (caller.filename, caller.lineno, sql, row, tdSql.queryRows)
|
||||
tdLog.exit("%s(%d) failed: sql:%s, row:%d is larger than queryRows:%d" % args)
|
||||
tdLog.notice("%s(%d) failed: sql:%s, row:%d is larger than queryRows:%d" % args)
|
||||
if col > tdSql.queryCols:
|
||||
args = (caller.filename, caller.lineno, sql, col, tdSql.queryCols)
|
||||
tdLog.exit("%s(%d) failed: sql:%s, col:%d is larger than queryCols:%d" % args)
|
||||
tdLog.notice("%s(%d) failed: sql:%s, col:%d is larger than queryCols:%d" % args)
|
||||
|
||||
def mycheckData(self, sql ,row, col, data):
|
||||
check_status = True
|
||||
|
@ -361,31 +361,31 @@ class TDTestCase:
|
|||
# print(ps_kill_taosd)
|
||||
os.system(ps_kill_taosd)
|
||||
else :
|
||||
tdLog.exit(" ==== port of dnode {} not found ====".format(dnode_id))
|
||||
tdLog.notice(" ==== port of dnode {} not found ====".format(dnode_id))
|
||||
|
||||
def stop_All(self):
|
||||
|
||||
tdDnodes = cluster.dnodes
|
||||
# newTdSql=tdCom.newTdSql()
|
||||
newTdSql=tdCom.newTdSql()
|
||||
# ==== stop all dnode =====
|
||||
for k ,v in self.dnode_list.items():
|
||||
dnode_id = v[0]
|
||||
# tdDnodes[dnode_id-1].stoptaosd()
|
||||
self.force_stop_dnode(dnode_id)
|
||||
|
||||
tdDnodes[dnode_id-1].stoptaosd()
|
||||
# self.force_stop_dnode(dnode_id)
|
||||
# self.wait_stop_dnode_OK(newTdSql)
|
||||
|
||||
def start_All(self):
|
||||
tdDnodes = cluster.dnodes
|
||||
# newTdSql=tdCom.newTdSql()
|
||||
|
||||
for k ,v in self.dnode_list.items():
|
||||
dnode_id = v[0]
|
||||
start = time.time()
|
||||
tdDnodes[dnode_id-1].starttaosd()
|
||||
# self.wait_start_dnode_OK(newTdSql)
|
||||
end = time.time()
|
||||
time_cost = int(end -start)
|
||||
if time_cost > self.max_restart_time:
|
||||
tdLog.exit(" ==== restart dnode {} cost too much time , please check ====".format(self.stop_dnode_id))
|
||||
tdLog.notice(" ==== restart dnode {} cost too much time , please check ====".format(self.stop_dnode_id))
|
||||
|
||||
|
||||
|
||||
|
@ -401,7 +401,10 @@ class TDTestCase:
|
|||
# begin to stop All taosd
|
||||
self.stop_All()
|
||||
# begin to start All taosd
|
||||
self.start_All()
|
||||
self.start_All()
|
||||
|
||||
time.sleep(5)
|
||||
|
||||
|
||||
tdLog.debug(" ==== cluster has restart , this is {}_th restart cluster ==== ".format(i))
|
||||
|
||||
|
@ -418,9 +421,6 @@ class TDTestCase:
|
|||
self.check_setup_cluster_status()
|
||||
self.stop_All_dnodes_check_datas()
|
||||
|
||||
|
||||
|
||||
|
||||
def stop(self):
|
||||
tdSql.close()
|
||||
tdLog.success(f"{__file__} successfully executed")
|
||||
|
|
|
@ -75,14 +75,14 @@ class TDTestCase:
|
|||
if count==1 and is_leader:
|
||||
tdLog.notice("===== depoly cluster success with 1 mnode as leader =====")
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
tdLog.notice("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
|
||||
for k ,v in self.dnode_list.items():
|
||||
if k == mnode_name:
|
||||
if v[3]==0:
|
||||
tdLog.notice("===== depoly cluster mnode only success at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
tdLog.notice("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
continue
|
||||
|
||||
|
@ -125,7 +125,7 @@ class TDTestCase:
|
|||
if len(v) ==1 and v[0] in ['leader', 'leader*']:
|
||||
tdLog.notice(" === create database replica only 1 role leader check success of vgroup_id {} ======".format(k))
|
||||
else:
|
||||
tdLog.exit(" === create database replica only 1 role leader check fail of vgroup_id {} ======".format(k))
|
||||
tdLog.notice(" === create database replica only 1 role leader check fail of vgroup_id {} ======".format(k))
|
||||
|
||||
def create_db_replica_3_insertdatas(self, dbname, replica_num ,vgroup_nums ,tb_nums , row_nums ):
|
||||
newTdSql=tdCom.newTdSql()
|
||||
|
|
|
@ -77,14 +77,14 @@ class TDTestCase:
|
|||
if count==1 and is_leader:
|
||||
tdLog.notice("===== depoly cluster success with 1 mnode as leader =====")
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
tdLog.notice("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
|
||||
for k ,v in self.dnode_list.items():
|
||||
if k == mnode_name:
|
||||
if v[3]==0:
|
||||
tdLog.notice("===== depoly cluster mnode only success at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
tdLog.notice("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
continue
|
||||
|
||||
|
@ -128,7 +128,7 @@ class TDTestCase:
|
|||
if len(v) ==1 and v[0] in ['leader', 'leader*']:
|
||||
tdLog.notice(" === create database replica only 1 role leader check success of vgroup_id {} ======".format(k))
|
||||
else:
|
||||
tdLog.exit(" === create database replica only 1 role leader check fail of vgroup_id {} ======".format(k))
|
||||
tdLog.notice(" === create database replica only 1 role leader check fail of vgroup_id {} ======".format(k))
|
||||
|
||||
def create_db_replica_3_insertdatas(self, dbname, replica_num ,vgroup_nums ,tb_nums , row_nums ):
|
||||
newTdSql=tdCom.newTdSql()
|
||||
|
@ -284,7 +284,7 @@ class TDTestCase:
|
|||
end = time.time()
|
||||
time_cost = int(end -start)
|
||||
if time_cost > self.max_restart_time:
|
||||
tdLog.exit(" ==== restart dnode {} cost too much time , please check ====".format(self.stop_dnode_id))
|
||||
tdLog.notice(" ==== restart dnode {} cost too much time , please check ====".format(self.stop_dnode_id))
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -77,14 +77,14 @@ class TDTestCase:
|
|||
if count==1 and is_leader:
|
||||
tdLog.notice("===== depoly cluster success with 1 mnode as leader =====")
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
tdLog.notice("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
|
||||
for k ,v in self.dnode_list.items():
|
||||
if k == mnode_name:
|
||||
if v[3]==0:
|
||||
tdLog.notice("===== depoly cluster mnode only success at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
tdLog.notice("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
continue
|
||||
|
||||
|
@ -128,7 +128,7 @@ class TDTestCase:
|
|||
if len(v) ==1 and v[0] in ['leader', 'leader*']:
|
||||
tdLog.notice(" === create database replica only 1 role leader check success of vgroup_id {} ======".format(k))
|
||||
else:
|
||||
tdLog.exit(" === create database replica only 1 role leader check fail of vgroup_id {} ======".format(k))
|
||||
tdLog.notice(" === create database replica only 1 role leader check fail of vgroup_id {} ======".format(k))
|
||||
|
||||
def create_db_replica_3_insertdatas(self, dbname, replica_num ,vgroup_nums ,tb_nums , row_nums ):
|
||||
newTdSql=tdCom.newTdSql()
|
||||
|
@ -262,7 +262,7 @@ class TDTestCase:
|
|||
if not vote_act:
|
||||
print("=======before_revote_leader_infos ======\n" , before_leader_infos)
|
||||
print("=======after_revote_leader_infos ======\n" , after_leader_infos)
|
||||
tdLog.exit(" ===maybe revote not occured , there is no dnode offline ====")
|
||||
tdLog.notice(" ===maybe revote not occured , there is no dnode offline ====")
|
||||
else:
|
||||
for vgroup_info in vote_act:
|
||||
for ind , role in enumerate(vgroup_info):
|
||||
|
@ -282,10 +282,15 @@ class TDTestCase:
|
|||
def check_insert_status(self, newTdSql , dbname, tb_nums , row_nums):
|
||||
|
||||
newTdSql.execute("use {}".format(dbname))
|
||||
newTdSql.query("select count(*) from {}.{}".format(dbname,'stb1'))
|
||||
# tdSql.checkData(0 , 0 , tb_nums*row_nums)
|
||||
newTdSql.query("select distinct tbname from {}.{}".format(dbname,'stb1'))
|
||||
# tdSql.checkRows(tb_nums)
|
||||
os.system(''' taos -s "select count(*) from {}.{};" '''.format(dbname,'stb1'))
|
||||
# try:
|
||||
# newTdSql.query("select count(*) from {}.{}".format(dbname,'stb1'))
|
||||
# # tdSql.checkData(0 , 0 , tb_nums*row_nums)
|
||||
# newTdSql.query("select distinct tbname from {}.{}".format(dbname,'stb1'))
|
||||
# # tdSql.checkRows(tb_nums)
|
||||
# except taos.error.ProgrammingError as err:
|
||||
# tdLog.info(err.msg)
|
||||
# pass
|
||||
|
||||
def loop_query_constantly(self, times , db_name, tb_nums ,row_nums):
|
||||
|
||||
|
@ -335,9 +340,10 @@ class TDTestCase:
|
|||
tdDnodes[self.stop_dnode_id-1].starttaosd()
|
||||
self.wait_start_dnode_OK(newTdSql)
|
||||
end = time.time()
|
||||
time.sleep(3)
|
||||
time_cost = int(end -start)
|
||||
if time_cost > self.max_restart_time:
|
||||
tdLog.exit(" ==== restart dnode {} cost too much time , please check ====".format(self.stop_dnode_id))
|
||||
tdLog.notice(" ==== restart dnode {} cost too much time , please check ====".format(self.stop_dnode_id))
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -83,14 +83,14 @@ class TDTestCase:
|
|||
if count==1 and is_leader:
|
||||
tdLog.notice("===== depoly cluster success with 1 mnode as leader =====")
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
tdLog.notice("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
|
||||
for k ,v in self.dnode_list.items():
|
||||
if k == mnode_name:
|
||||
if v[3]==0:
|
||||
tdLog.notice("===== depoly cluster mnode only success at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
tdLog.notice("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
continue
|
||||
|
||||
|
@ -133,7 +133,7 @@ class TDTestCase:
|
|||
if len(v) ==1 and v[0] in ['leader', 'leader*']:
|
||||
tdLog.notice(" === create database replica only 1 role leader check success of vgroup_id {} ======".format(k))
|
||||
else:
|
||||
tdLog.exit(" === create database replica only 1 role leader check fail of vgroup_id {} ======".format(k))
|
||||
tdLog.notice(" === create database replica only 1 role leader check fail of vgroup_id {} ======".format(k))
|
||||
|
||||
def create_database(self, dbname, replica_num ,vgroup_nums ):
|
||||
drop_db_sql = "drop database if exists {}".format(dbname)
|
||||
|
@ -190,7 +190,7 @@ class TDTestCase:
|
|||
while not status_OK :
|
||||
if count > self.try_check_times:
|
||||
os.system("taos -s ' show {}.vgroups; '".format(dbname))
|
||||
#tdLog.exit(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
#tdLog.notice(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
break
|
||||
time.sleep(0.1)
|
||||
tdSql.query("select count(*) from {}.{}".format(dbname,stablename))
|
||||
|
@ -431,7 +431,7 @@ class TDTestCase:
|
|||
end = time.time()
|
||||
time_cost = int(end -start)
|
||||
if time_cost > self.max_restart_time:
|
||||
tdLog.exit(" ==== restart dnode {} cost too much time , please check ====".format(self.stop_dnode_id))
|
||||
tdLog.notice(" ==== restart dnode {} cost too much time , please check ====".format(self.stop_dnode_id))
|
||||
|
||||
# create new stables again
|
||||
tdLog.notice(" ==== create new stable {} when dnode {} restart ====".format('new_stb2' , self.stop_dnode_id))
|
||||
|
@ -454,7 +454,7 @@ class TDTestCase:
|
|||
time_cost = int(end-start)
|
||||
|
||||
if time_cost > self.max_restart_time:
|
||||
tdLog.exit(" ==== restart dnode {} cost too much time , please check ====".format(self.stop_dnode_id))
|
||||
tdLog.notice(" ==== restart dnode {} cost too much time , please check ====".format(self.stop_dnode_id))
|
||||
|
||||
|
||||
def _create_threading(dbname):
|
||||
|
|
|
@ -36,7 +36,7 @@ class TDTestCase:
|
|||
self.tb_nums = 10
|
||||
self.row_nums = 100
|
||||
self.stop_dnode_id = None
|
||||
self.loop_restart_times = 5
|
||||
self.loop_restart_times = 3
|
||||
self.current_thread = None
|
||||
self.max_restart_time = 10
|
||||
self.try_check_times = 10
|
||||
|
@ -83,14 +83,14 @@ class TDTestCase:
|
|||
if count==1 and is_leader:
|
||||
tdLog.notice("===== depoly cluster success with 1 mnode as leader =====")
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
tdLog.notice("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
|
||||
for k ,v in self.dnode_list.items():
|
||||
if k == mnode_name:
|
||||
if v[3]==0:
|
||||
tdLog.notice("===== depoly cluster mnode only success at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
tdLog.notice("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
continue
|
||||
|
||||
|
@ -133,7 +133,7 @@ class TDTestCase:
|
|||
if len(v) ==1 and v[0] in ['leader', 'leader*']:
|
||||
tdLog.notice(" === create database replica only 1 role leader check success of vgroup_id {} ======".format(k))
|
||||
else:
|
||||
tdLog.exit(" === create database replica only 1 role leader check fail of vgroup_id {} ======".format(k))
|
||||
tdLog.notice(" === create database replica only 1 role leader check fail of vgroup_id {} ======".format(k))
|
||||
|
||||
def create_database(self, dbname, replica_num ,vgroup_nums ):
|
||||
drop_db_sql = "drop database if exists {}".format(dbname)
|
||||
|
@ -190,7 +190,7 @@ class TDTestCase:
|
|||
while not status_OK :
|
||||
if count > self.try_check_times:
|
||||
os.system("taos -s ' show {}.vgroups; '".format(dbname))
|
||||
tdLog.exit(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
tdLog.notice(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
break
|
||||
time.sleep(0.1)
|
||||
tdSql.query("select count(*) from {}.{}".format(dbname,stablename))
|
||||
|
@ -211,7 +211,7 @@ class TDTestCase:
|
|||
while not status_OK :
|
||||
if count > self.try_check_times:
|
||||
os.system("taos -s ' show {}.vgroups;'".format(dbname))
|
||||
tdLog.exit(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
tdLog.notice(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
break
|
||||
time.sleep(0.1)
|
||||
tdSql.query("select distinct tbname from {}.{}".format(dbname,stablename))
|
||||
|
@ -428,7 +428,7 @@ class TDTestCase:
|
|||
end = time.time()
|
||||
time_cost = int(end -start)
|
||||
if time_cost > self.max_restart_time:
|
||||
tdLog.exit(" ==== restart dnode {} cost too much time , please check ====".format(self.stop_dnode_id))
|
||||
tdLog.notice(" ==== restart dnode {} cost too much time , please check ====".format(self.stop_dnode_id))
|
||||
|
||||
# create new stables again
|
||||
tdLog.notice(" ==== create new stable {} when dnode {} restart ====".format('new_stb2' , self.stop_dnode_id))
|
||||
|
@ -453,7 +453,7 @@ class TDTestCase:
|
|||
time_cost = int(end-start)
|
||||
|
||||
if time_cost > self.max_restart_time:
|
||||
tdLog.exit(" ==== restart dnode {} cost too much time , please check ====".format(self.stop_dnode_id))
|
||||
tdLog.notice(" ==== restart dnode {} cost too much time , please check ====".format(self.stop_dnode_id))
|
||||
|
||||
|
||||
def _create_threading(dbname):
|
||||
|
|
|
@ -404,8 +404,8 @@ class TDTestCase:
|
|||
|
||||
# begin stop dnode
|
||||
start = time.time()
|
||||
tdDnodes[self.stop_dnode_id-1].forcestop()
|
||||
|
||||
tdDnodes[self.stop_dnode_id-1].stoptaosd()
|
||||
|
||||
self.wait_stop_dnode_OK(newTdSql)
|
||||
|
||||
# append rows of stablename when dnode stop
|
||||
|
@ -451,11 +451,13 @@ class TDTestCase:
|
|||
# begin restart dnode
|
||||
|
||||
# force stop taosd by kill -9
|
||||
self.force_stop_dnode(self.stop_dnode_id)
|
||||
self.wait_stop_dnode_OK(newTdSql)
|
||||
# self.force_stop_dnode(self.stop_dnode_id)
|
||||
tdDnodes[self.stop_dnode_id].stoptaosd()
|
||||
# self.wait_stop_dnode_OK(newTdSql)
|
||||
time.sleep(3)
|
||||
os.system(" taos -s 'select * from information_schema.ins_dnodes;' ")
|
||||
tdDnodes[self.stop_dnode_id-1].starttaosd()
|
||||
self.wait_start_dnode_OK(newTdSql)
|
||||
# self.wait_start_dnode_OK(newTdSql)
|
||||
end = time.time()
|
||||
time_cost = int(end-start)
|
||||
|
||||
|
|
|
@ -166,14 +166,14 @@ class TDTestCase:
|
|||
if count==1 and is_leader:
|
||||
tdLog.notice("===== depoly cluster success with 1 mnode as leader =====")
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
tdLog.notice("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
|
||||
for k ,v in self.dnode_list.items():
|
||||
if k == mnode_name:
|
||||
if v[3]==0:
|
||||
tdLog.notice("===== depoly cluster mnode only success at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
tdLog.notice("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
continue
|
||||
|
||||
|
@ -287,12 +287,12 @@ class TDTestCase:
|
|||
break
|
||||
return check_status
|
||||
|
||||
def start_benchmark_inserts(self,dbname , json_file):
|
||||
def start_benchmark_inserts(self):
|
||||
benchmark_build_path = self.getBuildPath() + '/build/bin/taosBenchmark'
|
||||
tdLog.notice("==== start taosBenchmark insert datas of database {} ==== ".format(dbname))
|
||||
os.system(" {} -y -n 10 -t 10 >>/dev/null 2>&1 ".format(benchmark_build_path , json_file))
|
||||
tdLog.notice("==== start taosBenchmark insert datas of database test ==== ")
|
||||
os.system(" {} -y -n 10000 -t 100 ".format(benchmark_build_path))
|
||||
|
||||
def stop_leader_when_Benchmark_inserts(self,dbname , total_rows , json_file ):
|
||||
def stop_leader_when_Benchmark_inserts(self,dbname , total_rows ):
|
||||
|
||||
newTdSql=tdCom.newTdSql()
|
||||
|
||||
|
@ -302,35 +302,22 @@ class TDTestCase:
|
|||
tdSql.execute(" create database {} replica {} vgroups {}".format(dbname , self.replica , self.vgroups))
|
||||
|
||||
# start insert datas using taosBenchmark ,expect insert 10000 rows
|
||||
|
||||
self.current_thread = threading.Thread(target=self.start_benchmark_inserts, args=(dbname,json_file))
|
||||
time.sleep(3)
|
||||
self.current_thread = threading.Thread(target=self.start_benchmark_inserts, args=())
|
||||
self.current_thread.start()
|
||||
tdSql.query(" select * from information_schema.ins_databases ")
|
||||
|
||||
# make sure create database ok
|
||||
while (tdSql.queryRows!=3):
|
||||
time.sleep(0.5)
|
||||
tdSql.query(" select * from information_schema.ins_databases ")
|
||||
|
||||
# # make sure create stable ok
|
||||
tdSql.query(" show {}.stables ".format(dbname))
|
||||
while (tdSql.queryRows!=1):
|
||||
time.sleep(0.5)
|
||||
tdSql.query(" show {}.stables ".format(dbname))
|
||||
|
||||
# stop leader of database when insert 10% rows
|
||||
# os.system("taos -s 'select * from information_schema.ins_databases';")
|
||||
tdSql.query(" select count(*) from {}.{} ".format(dbname,"stb1"))
|
||||
tdSql.query(" select count(*) from {}.{} ".format(dbname,"meters"))
|
||||
|
||||
while not tdSql.queryResult:
|
||||
tdSql.query(" select count(*) from {}.{} ".format(dbname,"stb1"))
|
||||
tdSql.query(" select count(*) from {}.{} ".format(dbname,"meters"))
|
||||
tdLog.debug(" === current insert {} rows in database {} === ".format(tdSql.queryResult[0][0] , dbname))
|
||||
|
||||
while (tdSql.queryResult[0][0] < total_rows/10):
|
||||
if tdSql.queryResult:
|
||||
tdLog.debug(" === current insert {} rows in database {} === ".format(tdSql.queryResult[0][0] , dbname))
|
||||
time.sleep(0.01)
|
||||
tdSql.query(" select count(*) from {}.{} ".format(dbname,"stb1"))
|
||||
tdSql.query(" select count(*) from {}.{} ".format(dbname,"meters"))
|
||||
|
||||
tdLog.debug(" === database {} has write {} rows at least ====".format(dbname,total_rows/10))
|
||||
|
||||
|
@ -340,24 +327,26 @@ class TDTestCase:
|
|||
before_leader_infos = self.get_leader_infos(dbname)
|
||||
|
||||
tdDnodes[self.stop_dnode_id-1].stoptaosd()
|
||||
os.system("taos -s 'show dnodes;'")
|
||||
# self.current_thread.join()
|
||||
after_leader_infos = self.get_leader_infos(dbname)
|
||||
|
||||
start = time.time()
|
||||
revote_status = self.check_revote_leader_success(dbname ,before_leader_infos , after_leader_infos)
|
||||
while not revote_status:
|
||||
after_leader_infos = self.get_leader_infos(dbname)
|
||||
revote_status = self.check_revote_leader_success(dbname ,before_leader_infos , after_leader_infos)
|
||||
end = time.time()
|
||||
time_cost = end - start
|
||||
tdLog.debug(" ==== revote leader of database {} cost time {} ====".format(dbname , time_cost))
|
||||
# start = time.time()
|
||||
# revote_status = self.check_revote_leader_success(dbname ,before_leader_infos , after_leader_infos)
|
||||
# while not revote_status:
|
||||
# after_leader_infos = self.get_leader_infos(dbname)
|
||||
# revote_status = self.check_revote_leader_success(dbname ,before_leader_infos , after_leader_infos)
|
||||
# end = time.time()
|
||||
# time_cost = end - start
|
||||
# tdLog.debug(" ==== revote leader of database {} cost time {} ====".format(dbname , time_cost))
|
||||
|
||||
self.current_thread.join()
|
||||
time.sleep(2)
|
||||
tdDnodes[self.stop_dnode_id-1].starttaosd()
|
||||
self.wait_start_dnode_OK(newTdSql)
|
||||
|
||||
|
||||
tdSql.query(" select count(*) from {}.{} ".format(dbname,"stb1"))
|
||||
tdSql.query(" select count(*) from {}.{} ".format(dbname,"meters"))
|
||||
tdLog.debug(" ==== expected insert {} rows of database {} , really is {}".format(total_rows, dbname , tdSql.queryResult[0][0]))
|
||||
|
||||
|
||||
|
@ -366,11 +355,8 @@ class TDTestCase:
|
|||
|
||||
# basic insert and check of cluster
|
||||
# self.check_setup_cluster_status()
|
||||
json = os.path.dirname(__file__) + '/insert_10W_rows.json'
|
||||
self.stop_leader_when_Benchmark_inserts('db_1' , 100 ,json)
|
||||
# tdLog.notice( " ===== start insert 100W rows ==== ")
|
||||
# json = os.path.dirname(__file__) + '/insert_100W_rows.json'
|
||||
# self.stop_leader_when_Benchmark_inserts('db_2' , 1000000 ,json)
|
||||
self.stop_leader_when_Benchmark_inserts('test' , 1000000 )
|
||||
|
||||
|
||||
def stop(self):
|
||||
tdSql.close()
|
||||
|
|
|
@ -166,14 +166,14 @@ class TDTestCase:
|
|||
if count==1 and is_leader:
|
||||
tdLog.notice("===== depoly cluster success with 1 mnode as leader =====")
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
tdLog.notice("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
|
||||
for k ,v in self.dnode_list.items():
|
||||
if k == mnode_name:
|
||||
if v[3]==0:
|
||||
tdLog.notice("===== depoly cluster mnode only success at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
tdLog.notice("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
continue
|
||||
|
||||
|
@ -216,7 +216,7 @@ class TDTestCase:
|
|||
if len(v) ==1 and v[0] in ['leader', 'leader*']:
|
||||
tdLog.notice(" === create database replica only 1 role leader check success of vgroup_id {} ======".format(k))
|
||||
else:
|
||||
tdLog.exit(" === create database replica only 1 role leader check fail of vgroup_id {} ======".format(k))
|
||||
tdLog.notice(" === create database replica only 1 role leader check fail of vgroup_id {} ======".format(k))
|
||||
|
||||
def create_database(self, dbname, replica_num ,vgroup_nums ):
|
||||
drop_db_sql = "drop database if exists {}".format(dbname)
|
||||
|
@ -273,7 +273,7 @@ class TDTestCase:
|
|||
while not status_OK :
|
||||
if count > self.try_check_times:
|
||||
os.system("taos -s ' show {}.vgroups; '".format(dbname))
|
||||
tdLog.exit(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
tdLog.notice(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
break
|
||||
time.sleep(0.1)
|
||||
tdSql.query("select count(*) from {}.{}".format(dbname,stablename))
|
||||
|
@ -294,7 +294,7 @@ class TDTestCase:
|
|||
while not status_OK :
|
||||
if count > self.try_check_times:
|
||||
os.system("taos -s ' show {}.vgroups;'".format(dbname))
|
||||
tdLog.exit(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
tdLog.notice(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
break
|
||||
time.sleep(0.1)
|
||||
tdSql.query("select distinct tbname from {}.{}".format(dbname,stablename))
|
||||
|
@ -399,7 +399,7 @@ class TDTestCase:
|
|||
if not vote_act:
|
||||
print("=======before_revote_leader_infos ======\n" , before_leader_infos)
|
||||
print("=======after_revote_leader_infos ======\n" , after_leader_infos)
|
||||
tdLog.exit(" ===maybe revote not occured , there is no dnode offline ====")
|
||||
tdLog.notice(" ===maybe revote not occured , there is no dnode offline ====")
|
||||
else:
|
||||
for vgroup_info in vote_act:
|
||||
for ind , role in enumerate(vgroup_info):
|
||||
|
@ -455,7 +455,10 @@ class TDTestCase:
|
|||
|
||||
# begin stop dnode
|
||||
# force stop taosd by kill -9
|
||||
self.force_stop_dnode(self.stop_dnode_id)
|
||||
# self.force_stop_dnode(self.stop_dnode_id)
|
||||
|
||||
tdDnodes[self.stop_dnode_id-1].stoptaosd()
|
||||
|
||||
|
||||
self.wait_stop_dnode_OK(newTdSql)
|
||||
|
||||
|
@ -496,7 +499,7 @@ class TDTestCase:
|
|||
end = time.time()
|
||||
time_cost = int(end -start)
|
||||
if time_cost > self.max_restart_time:
|
||||
tdLog.exit(" ==== restart dnode {} cost too much time , please check ====".format(self.stop_dnode_id))
|
||||
tdLog.notice(" ==== restart dnode {} cost too much time , please check ====".format(self.stop_dnode_id))
|
||||
|
||||
# create new stables again
|
||||
tdLog.notice(" ==== create new stable {} when dnode {} restart ====".format('new_stb2' , self.stop_dnode_id))
|
||||
|
@ -515,8 +518,9 @@ class TDTestCase:
|
|||
# force stop taosd by kill -9
|
||||
# get leader info before stop
|
||||
before_leader_infos = self.get_leader_infos(db_name)
|
||||
self.force_stop_dnode(self.stop_dnode_id)
|
||||
|
||||
# self.force_stop_dnode(self.stop_dnode_id)
|
||||
|
||||
tdDnodes[self.stop_dnode_id-1].stoptaosd()
|
||||
self.wait_stop_dnode_OK(newTdSql)
|
||||
|
||||
# check revote leader when restart servers
|
||||
|
@ -554,7 +558,7 @@ class TDTestCase:
|
|||
time_cost = int(end-start)
|
||||
|
||||
if time_cost > self.max_restart_time:
|
||||
tdLog.exit(" ==== restart dnode {} cost too much time , please check ====".format(self.stop_dnode_id))
|
||||
tdLog.notice(" ==== restart dnode {} cost too much time , please check ====".format(self.stop_dnode_id))
|
||||
|
||||
|
||||
def _create_threading(dbname):
|
||||
|
|
|
@ -85,14 +85,14 @@ class TDTestCase:
|
|||
if count==1 and is_leader:
|
||||
tdLog.notice("===== depoly cluster success with 1 mnode as leader =====")
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
tdLog.notice("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
|
||||
for k ,v in self.dnode_list.items():
|
||||
if k == mnode_name:
|
||||
if v[3]==0:
|
||||
tdLog.notice("===== depoly cluster mnode only success at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
tdLog.notice("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
continue
|
||||
|
||||
|
@ -151,7 +151,7 @@ class TDTestCase:
|
|||
while not status_OK :
|
||||
if count > self.try_check_times:
|
||||
os.system("taos -s ' show {}.vgroups; '".format(dbname))
|
||||
tdLog.exit(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
tdLog.notice(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
break
|
||||
time.sleep(0.1)
|
||||
tdSql.query("select count(*) from {}.{}".format(dbname,stablename))
|
||||
|
@ -172,7 +172,7 @@ class TDTestCase:
|
|||
while not status_OK :
|
||||
if count > self.try_check_times:
|
||||
os.system("taos -s ' show {}.vgroups;'".format(dbname))
|
||||
tdLog.exit(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
tdLog.notice(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
break
|
||||
time.sleep(0.1)
|
||||
tdSql.query("select distinct tbname from {}.{}".format(dbname,stablename))
|
||||
|
@ -410,7 +410,7 @@ class TDTestCase:
|
|||
time_cost = int(end-start)
|
||||
|
||||
if time_cost > self.max_restart_time:
|
||||
tdLog.exit(" ==== restart dnode {} cost too much time , please check ====".format(self.stop_dnode_id))
|
||||
tdLog.notice(" ==== restart dnode {} cost too much time , please check ====".format(self.stop_dnode_id))
|
||||
|
||||
for thread in self.thread_list:
|
||||
thread.join()
|
||||
|
|
|
@ -85,14 +85,14 @@ class TDTestCase:
|
|||
if count==1 and is_leader:
|
||||
tdLog.notice("===== depoly cluster success with 1 mnode as leader =====")
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
tdLog.notice("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
|
||||
for k ,v in self.dnode_list.items():
|
||||
if k == mnode_name:
|
||||
if v[3]==0:
|
||||
tdLog.notice("===== depoly cluster mnode only success at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
tdLog.notice("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
continue
|
||||
|
||||
|
@ -151,7 +151,7 @@ class TDTestCase:
|
|||
while not status_OK :
|
||||
if count > self.try_check_times:
|
||||
os.system("taos -s ' show {}.vgroups; '".format(dbname))
|
||||
tdLog.exit(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
tdLog.notice(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
break
|
||||
time.sleep(0.1)
|
||||
tdSql.query("select count(*) from {}.{}".format(dbname,stablename))
|
||||
|
@ -172,7 +172,7 @@ class TDTestCase:
|
|||
while not status_OK :
|
||||
if count > self.try_check_times:
|
||||
os.system("taos -s ' show {}.vgroups;'".format(dbname))
|
||||
tdLog.exit(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
tdLog.notice(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
break
|
||||
time.sleep(0.1)
|
||||
tdSql.query("select distinct tbname from {}.{}".format(dbname,stablename))
|
||||
|
@ -399,7 +399,8 @@ class TDTestCase:
|
|||
for loop in range(self.loop_restart_times):
|
||||
tdLog.debug(" ==== this is {}_th restart follower of database {} ==== ".format(loop ,self.db_name))
|
||||
self.stop_dnode_id = self._get_stop_dnode_id(self.db_name,"follower" )
|
||||
self.force_stop_dnode(self.stop_dnode_id)
|
||||
# self.force_stop_dnode(self.stop_dnode_id)
|
||||
tdDnodes[self.stop_dnode_id-1].stoptaosd()
|
||||
self.wait_stop_dnode_OK(newTdSql)
|
||||
|
||||
start = time.time()
|
||||
|
@ -409,7 +410,7 @@ class TDTestCase:
|
|||
time_cost = int(end-start)
|
||||
|
||||
if time_cost > self.max_restart_time:
|
||||
tdLog.exit(" ==== restart dnode {} cost too much time , please check ====".format(self.stop_dnode_id))
|
||||
tdLog.notice(" ==== restart dnode {} cost too much time , please check ====".format(self.stop_dnode_id))
|
||||
|
||||
for thread in self.thread_list:
|
||||
thread.join()
|
||||
|
|
|
@ -85,14 +85,14 @@ class TDTestCase:
|
|||
if count==1 and is_leader:
|
||||
tdLog.notice("===== depoly cluster success with 1 mnode as leader =====")
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
tdLog.notice("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
|
||||
for k ,v in self.dnode_list.items():
|
||||
if k == mnode_name:
|
||||
if v[3]==0:
|
||||
tdLog.notice("===== depoly cluster mnode only success at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
tdLog.notice("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
continue
|
||||
|
||||
|
@ -151,7 +151,7 @@ class TDTestCase:
|
|||
while not status_OK :
|
||||
if count > self.try_check_times:
|
||||
os.system("taos -s ' show {}.vgroups; '".format(dbname))
|
||||
tdLog.exit(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
tdLog.notice(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
break
|
||||
time.sleep(0.1)
|
||||
tdSql.query("select count(*) from {}.{}".format(dbname,stablename))
|
||||
|
@ -172,7 +172,7 @@ class TDTestCase:
|
|||
while not status_OK :
|
||||
if count > self.try_check_times:
|
||||
os.system("taos -s ' show {}.vgroups;'".format(dbname))
|
||||
tdLog.exit(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
tdLog.notice(" ==== check insert rows failed after {} try check {} times of database {}".format(count , self.try_check_times ,dbname))
|
||||
break
|
||||
time.sleep(0.1)
|
||||
tdSql.query("select distinct tbname from {}.{}".format(dbname,stablename))
|
||||
|
@ -438,7 +438,8 @@ class TDTestCase:
|
|||
before_leader_infos = self.get_leader_infos(self.db_name)
|
||||
|
||||
self.stop_dnode_id = self._get_stop_dnode_id(self.db_name ,"leader")
|
||||
self.force_stop_dnode(self.stop_dnode_id)
|
||||
# self.force_stop_dnode(self.stop_dnode_id)
|
||||
tdDnodes[self.stop_dnode_id-1].stoptaosd()
|
||||
|
||||
|
||||
start = time.time()
|
||||
|
@ -464,7 +465,7 @@ class TDTestCase:
|
|||
time_cost = int(end-start)
|
||||
|
||||
if time_cost > self.max_restart_time:
|
||||
tdLog.exit(" ==== restart dnode {} cost too much time , please check ====".format(self.stop_dnode_id))
|
||||
tdLog.notice(" ==== restart dnode {} cost too much time , please check ====".format(self.stop_dnode_id))
|
||||
|
||||
for thread in self.thread_list:
|
||||
thread.join()
|
||||
|
|
|
@ -30,7 +30,7 @@ class TDTestCase:
|
|||
self.vgroups = 2
|
||||
self.tb_nums = 10
|
||||
self.row_nums = 10
|
||||
self.max_vote_time_cost = 30 # seconds
|
||||
self.max_vote_time_cost = 100 # seconds
|
||||
|
||||
def getBuildPath(self):
|
||||
selfPath = os.path.dirname(os.path.realpath(__file__))
|
||||
|
@ -74,14 +74,14 @@ class TDTestCase:
|
|||
if count==1 and is_leader:
|
||||
tdLog.notice("===== depoly cluster success with 1 mnode as leader =====")
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
tdLog.notice("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
|
||||
for k ,v in self.dnode_list.items():
|
||||
if k == mnode_name:
|
||||
if v[3]==0:
|
||||
tdLog.notice("===== depoly cluster mnode only success at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
tdLog.notice("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
continue
|
||||
|
||||
|
@ -124,7 +124,7 @@ class TDTestCase:
|
|||
if len(v) ==1 and v[0] in ['leader', 'leader*']:
|
||||
tdLog.notice(" === create database replica only 1 role leader check success of vgroup_id {} ======".format(k))
|
||||
else:
|
||||
tdLog.exit(" === create database replica only 1 role leader check fail of vgroup_id {} ======".format(k))
|
||||
tdLog.notice(" === create database replica only 1 role leader check fail of vgroup_id {} ======".format(k))
|
||||
|
||||
def check_vgroups_init_done(self,dbname):
|
||||
|
||||
|
@ -159,7 +159,7 @@ class TDTestCase:
|
|||
tdLog.notice(" ==== database %s vote the leaders success , cost time is %.3f second ====="%(dbname,cost_time) )
|
||||
# os.system("taos -s 'show {}.vgroups;'".format(dbname))
|
||||
if cost_time >= self.max_vote_time_cost:
|
||||
tdLog.exit(" ==== database %s vote the leaders cost too large time , cost time is %.3f second ===="%(dbname,cost_time) )
|
||||
tdLog.notice(" ==== database %s vote the leaders cost too large time , cost time is %.3f second ===="%(dbname,cost_time) )
|
||||
|
||||
|
||||
return cost_time
|
||||
|
@ -184,10 +184,10 @@ class TDTestCase:
|
|||
tdSql.execute(create_db_replica_3_vgroups_10)
|
||||
self.vote_leader_time_costs(db2)
|
||||
|
||||
# create database replica 3 vgroups 100
|
||||
# create database replica 3 vgroups 30
|
||||
db3 = 'db_3'
|
||||
create_db_replica_3_vgroups_100 = "create database {} replica 3 vgroups 20".format(db3)
|
||||
tdLog.notice('=======database {} replica 3 vgroups 100 ======'.format(db3))
|
||||
tdLog.notice('=======database {} replica 3 vgroups 30 ======'.format(db3))
|
||||
tdSql.execute(create_db_replica_3_vgroups_100)
|
||||
self.vote_leader_time_costs(db3)
|
||||
|
||||
|
|
|
@ -77,14 +77,14 @@ class TDTestCase:
|
|||
if count==1 and is_leader:
|
||||
tdLog.notice("===== depoly cluster success with 1 mnode as leader =====")
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
tdLog.notice("===== depoly cluster fail with 1 mnode as leader =====")
|
||||
|
||||
for k ,v in self.dnode_list.items():
|
||||
if k == mnode_name:
|
||||
if v[3]==0:
|
||||
tdLog.notice("===== depoly cluster mnode only success at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
tdLog.exit("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
tdLog.notice("===== depoly cluster mnode only fail at {} , support_vnodes is {} ".format(mnode_name,v[3]))
|
||||
else:
|
||||
continue
|
||||
|
||||
|
@ -127,7 +127,7 @@ class TDTestCase:
|
|||
if len(v) ==1 and v[0] in ['leader', 'leader*']:
|
||||
tdLog.notice(" === create database replica only 1 role leader check success of vgroup_id {} ======".format(k))
|
||||
else:
|
||||
tdLog.exit(" === create database replica only 1 role leader check fail of vgroup_id {} ======".format(k))
|
||||
tdLog.notice(" === create database replica only 1 role leader check fail of vgroup_id {} ======".format(k))
|
||||
|
||||
def _get_stop_dnode(self):
|
||||
only_dnode_list = self.dnode_list.keys() - self.mnode_list.keys()
|
||||
|
@ -151,7 +151,7 @@ class TDTestCase:
|
|||
if role == stop_dnode_id and vgroups_leader_follower[ind+1]=="offline":
|
||||
tdLog.notice("====== dnode {} has offline , endpoint is {}".format(stop_dnode_id , self.stop_dnode))
|
||||
elif role == stop_dnode_id :
|
||||
tdLog.exit("====== dnode {} has not offline , endpoint is {}".format(stop_dnode_id , self.stop_dnode))
|
||||
tdLog.notice("====== dnode {} has not offline , endpoint is {}".format(stop_dnode_id , self.stop_dnode))
|
||||
else:
|
||||
continue
|
||||
else:
|
||||
|
@ -257,7 +257,7 @@ class TDTestCase:
|
|||
tdLog.notice(" ==== database %s vote the leaders success , cost time is %.3f second ====="%(dbname,cost_time) )
|
||||
# os.system("taos -s 'show {}.vgroups;'".format(dbname))
|
||||
if cost_time >= self.max_vote_time_cost:
|
||||
tdLog.exit(" ==== database %s vote the leaders cost too large time , cost time is %.3f second ===="%(dbname,cost_time) )
|
||||
tdLog.notice(" ==== database %s vote the leaders cost too large time , cost time is %.3f second ===="%(dbname,cost_time) )
|
||||
|
||||
return cost_time
|
||||
|
||||
|
@ -276,7 +276,7 @@ class TDTestCase:
|
|||
tdLog.notice(" ==== database %s revote the leaders success , cost time is %.3f second ====="%(dbname,cost_time) )
|
||||
# os.system("taos -s 'show {}.vgroups;'".format(dbname))
|
||||
if cost_time >= self.max_vote_time_cost:
|
||||
tdLog.exit(" ==== database %s revote the leaders cost too large time , cost time is %.3f second ===="%(dbname,cost_time) )
|
||||
tdLog.notice(" ==== database %s revote the leaders cost too large time , cost time is %.3f second ===="%(dbname,cost_time) )
|
||||
|
||||
|
||||
return cost_time
|
||||
|
@ -300,7 +300,7 @@ class TDTestCase:
|
|||
|
||||
vote_act = set(set(after_vgroups)-set(before_vgroups))
|
||||
if not vote_act:
|
||||
tdLog.exit(" ===maybe revote not occured , there is no dnode offline ====")
|
||||
tdLog.notice(" ===maybe revote not occured , there is no dnode offline ====")
|
||||
else:
|
||||
for vgroup_info in vote_act:
|
||||
for ind , role in enumerate(vgroup_info):
|
||||
|
@ -309,7 +309,7 @@ class TDTestCase:
|
|||
if vgroup_info[ind+1] =="offline" and "leader" in vgroup_info:
|
||||
tdLog.notice(" === revote leader ok , leader is {} now ====".format(list(vgroup_info).index("leader")-1))
|
||||
elif vgroup_info[ind+1] !="offline":
|
||||
tdLog.exit(" === dnode {} should be offline ".format(self.stop_dnode))
|
||||
tdLog.notice(" === dnode {} should be offline ".format(self.stop_dnode))
|
||||
else:
|
||||
continue
|
||||
break
|
||||
|
|
|
@ -1,118 +0,0 @@
|
|||
{
|
||||
"filetype": "insert",
|
||||
"cfgdir": "/etc/taos/",
|
||||
"host": "localhost",
|
||||
"port": 6030,
|
||||
"user": "root",
|
||||
"password": "taosdata",
|
||||
"thread_count": 10,
|
||||
"create_table_thread_count": 10,
|
||||
"confirm_parameter_prompt": "no",
|
||||
"insert_interval": 0,
|
||||
"interlace_rows": 1000,
|
||||
"num_of_records_per_req": 1000,
|
||||
"databases": [
|
||||
{
|
||||
"dbinfo": {
|
||||
"name": "db_2",
|
||||
"drop": "no",
|
||||
"vgroups": 1,
|
||||
"replica": 3
|
||||
},
|
||||
"super_tables": [
|
||||
{
|
||||
"name": "stb1",
|
||||
"childtable_count": 10,
|
||||
"childtable_prefix": "sub_",
|
||||
"auto_create_table": "yes",
|
||||
"batch_create_tbl_num": 5000,
|
||||
"data_source": "rand",
|
||||
"insert_mode": "taosc",
|
||||
"insert_rows": 100000,
|
||||
"interlace_rows": 0,
|
||||
"insert_interval": 0,
|
||||
"max_sql_len": 1000000,
|
||||
"disorder_ratio": 0,
|
||||
"disorder_range": 1000,
|
||||
"timestamp_step": 10,
|
||||
"start_timestamp": "2015-05-01 00:00:00.000",
|
||||
"sample_format": "csv",
|
||||
"use_sample_ts": "no",
|
||||
"tags_file": "",
|
||||
"columns": [
|
||||
{
|
||||
"type": "INT",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "TINYINT",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "SMALLINT",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "BIGINT",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "UINT",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "UTINYINT",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "USMALLINT",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "UBIGINT",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "DOUBLE",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "FLOAT",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "BINARY",
|
||||
"len": 40,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "VARCHAR",
|
||||
"len": 200,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "nchar",
|
||||
"len": 200,
|
||||
"count": 1
|
||||
}
|
||||
],
|
||||
"tags": [
|
||||
{
|
||||
"type": "INT",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "BINARY",
|
||||
"len": 100,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "BOOL",
|
||||
"count": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,118 +0,0 @@
|
|||
{
|
||||
"filetype": "insert",
|
||||
"cfgdir": "/etc/taos/",
|
||||
"host": "localhost",
|
||||
"port": 6030,
|
||||
"user": "root",
|
||||
"password": "taosdata",
|
||||
"thread_count": 1,
|
||||
"create_table_thread_count": 1,
|
||||
"confirm_parameter_prompt": "no",
|
||||
"insert_interval": 0,
|
||||
"interlace_rows": 1000,
|
||||
"num_of_records_per_req": 1000,
|
||||
"databases": [
|
||||
{
|
||||
"dbinfo": {
|
||||
"name": "db_1",
|
||||
"drop": "no",
|
||||
"vgroups": 1,
|
||||
"replica": 3
|
||||
},
|
||||
"super_tables": [
|
||||
{
|
||||
"name": "stb1",
|
||||
"childtable_count": 10,
|
||||
"childtable_prefix": "sub_",
|
||||
"auto_create_table": "yes",
|
||||
"batch_create_tbl_num": 5000,
|
||||
"data_source": "rand",
|
||||
"insert_mode": "taosc",
|
||||
"insert_rows": 10000,
|
||||
"interlace_rows": 0,
|
||||
"insert_interval": 0,
|
||||
"max_sql_len": 1000000,
|
||||
"disorder_ratio": 0,
|
||||
"disorder_range": 1000,
|
||||
"timestamp_step": 10,
|
||||
"start_timestamp": "2015-05-01 00:00:00.000",
|
||||
"sample_format": "csv",
|
||||
"use_sample_ts": "no",
|
||||
"tags_file": "",
|
||||
"columns": [
|
||||
{
|
||||
"type": "INT",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "TINYINT",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "SMALLINT",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "BIGINT",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "UINT",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "UTINYINT",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "USMALLINT",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "UBIGINT",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "DOUBLE",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "FLOAT",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "BINARY",
|
||||
"len": 40,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "VARCHAR",
|
||||
"len": 200,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "nchar",
|
||||
"len": 200,
|
||||
"count": 1
|
||||
}
|
||||
],
|
||||
"tags": [
|
||||
{
|
||||
"type": "INT",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "BINARY",
|
||||
"len": 100,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"type": "BOOL",
|
||||
"count": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
Loading…
Reference in New Issue