TDengine/test/cases/26-NodeManager/02-Mnode/test_mnode_basic3.py

82 lines
2.2 KiB
Python
Raw Normal View History

2025-05-04 14:31:35 +00:00
import time
from new_test_framework.utils import tdLog, tdSql, sc, clusterComCheck
class TestMnodeBasic3:
def setup_class(cls):
tdLog.debug(f"start to execute {__file__}")
def test_mnode_basic3(self):
2025-09-04 12:33:50 +00:00
"""replica 3: kill -9 then restart
1. Create mnodes on the second and third dnodes
2. Create a user (update mnode)
3. Kill dnode1 with kill -9
4. Check if the user exists
5. Stop dnode2 and dnode3 sequentially
6. Check service availability
2025-05-04 14:31:35 +00:00
Catalog:
- ManageNodes:Mnode
Since: v3.0.0.0
Labels: common,ci
Jira: None
History:
2025-05-07 05:38:12 +00:00
- 2025-5-5 Simon Guan Migrated from tsim/mnode/basic3.sim
2025-05-04 14:31:35 +00:00
"""
clusterComCheck.checkDnodes(4)
tdSql.query(f"select * from information_schema.ins_mnodes")
tdSql.checkRows(1)
tdSql.checkKeyData(1, 0, 1)
tdSql.checkKeyData(1, 2, "leader")
tdLog.info(f"=============== step2: create mnode 2 3")
tdSql.execute(f"create mnode on dnode 2")
tdSql.execute(f"create mnode on dnode 3")
tdSql.error(f"create mnode on dnode 4")
clusterComCheck.checkMnodeStatus(3)
tdLog.info(f"=============== step3: create user")
tdSql.execute(f"create user user1 PASS 'user121$*'")
tdSql.query(f"select * from information_schema.ins_users")
tdSql.checkRows(2)
# wait mnode2 mnode3 recv data finish
time.sleep(5)
tdLog.info(f"=============== step4: stop dnode1")
sc.dnodeForceStop(1)
time.sleep(1)
clusterComCheck.checkDnodes(3)
tdSql.query(f"select * from information_schema.ins_users")
tdSql.checkRows(2)
tdLog.info(f"=============== step5: stop dnode2")
sc.dnodeStart(1)
sc.dnodeStop(2)
time.sleep(1)
clusterComCheck.checkDnodes(3)
tdSql.query(f"select * from information_schema.ins_users")
tdSql.checkRows(2)
tdLog.info(f"=============== step6: stop dnode3")
sc.dnodeStart(2)
sc.dnodeStop(3)
time.sleep(1)
clusterComCheck.checkDnodes(3)
tdSql.query(f"select * from information_schema.ins_users")
tdSql.checkRows(2)