Skip to content

70-Cluster

Cluster 4 dnode 1 mnode replica 1
1. Create 4 node and 1 mnode cluster
2. Ensure above cluster setup success
3. Check mnode is leader and only 1 mnode
4. Create database with replica 1
5. Create 1 super table and 1 normal table
6. Create 5 subtables using super table
7. Ensure above tables created success
8. Check vgroups info , ensure each vgroup only has 1 leader role

Cluster 4 dnodes 1 mnode replica 1 insert
1. Create 4 node and 1 mnode cluster
2. Ensure above cluster setup success
3. Check mnode is leader and only 1 mnode
4. Create database with replica 1
5. Create 1 super table and 1 normal table
6. Create 5 subtables using super table
7. Ensure above tables created success
8. Insert each subtable 100 rows data
9. Check vgroups info , ensure each vgroup only has 1 leader role

Cluster 4 dnodes 1 mnode replica 1 insert-query
1. Create 4 node and 1 mnode cluster
2. Ensure above cluster setup success
3. Check mnode is leader and only 1 mnode
4. Create database with replica 1
5. Create 1 super table and 1 normal table
6. Create 5 subtables using super table
7. Ensure above tables created success
8. Insert each subtable 100 rows data
9. Ensure above insert success by query
10. Check vgroups info , ensure each vgroup only has 1 leader role

Cluster 4 dnodes 1 mnode replica 3 insert
1. Create 4 node and 1 mnode cluster
2. Ensure above cluster setup success
3. Check mnode is leader and only 1 mnode
4. Create database with replica 3
5. Create 1 super table and 1 normal table
6. Create 5 subtables using super table
7. Ensure above tables created success
8. Insert each subtable 100 rows data
9. Check vgroups info , ensure each vgroup only has 1 leader role

Cluster 4 dnodes 1 mnode replica 3 insert-query
1. Create 4 node and 1 mnode cluster
2. Ensure above cluster setup success
3. Check mnode is leader and only 1 mnode
4. Create database with replica 3
5. Create 1 super table and 1 normal table
6. Create 5 subtables using super table
7. Ensure above tables created success
8. Insert each subtable 100 rows data
9. Ensure above insert success by query
10. Check vgroups info , ensure each vgroup only has 1 leader role

Cluster 4 dnodes 1 mnode replica 3 vgroups
1. Create 4 node and 1 mnode cluster
2. Ensure above cluster setup success
3. Check mnode is leader and only 1 mnode
4. Create database with replica 3
5. Create 1 super table and 1 normal table
6. Create 5 subtables using super table
7. Ensure above tables created success
8. Create database with vgroups 1,10,30 respectively
9. ensure each vgroup only has 1 leader role

Cluster 5 dnodes 1 mnode
1. Create 5 node and 1 mnode cluster
2. Ensure above cluster setup success
3. Check mnode is leader and only 1 mnode
4. Check the cluster is alive

Cluster 5 dnodes 2 mnode
1. Create 5 node and 2 mnode cluster
2. Ensure above cluster setup success
3. Check mnode is leader and only 1 mnode
4. Stop dnode 2
5. Start dnode 2
6. Stop dnode 1
7. Start dnode 1
8. Check the cluster is alive

Cluster 5 dnodes 3 mnode add 1 dnode
1. Create 5 node and 3 mnode cluster
2. Ensure above cluster setup success
3. Check mnode is leader and only 1 mnode
4. Except check some error operations
5. Add 1 dnode to cluster
6. Restart all dnodes
7. Ensure cluster work well

Cluster 5 dnodes 3 mnode recreate mnode
1. Create 5 node and 3 mnode cluster
2. Ensure above cluster setup success
3. Check mnode is leader and only 1 mnode
4. Except check some error operations
5. Stop dnode 1
6. delete dnode 1 dataDir
7. Start dnode 1
8. Ensure cluster work well

Cluster 5 dnodes 3 mnode insert
1. Create 5 node and 3 mnode cluster
2. Ensure above cluster setup success
3. Check mnode is leader and only 1 mnode
4. Except check some error operations
5. Insert data
6. Stop dnode 1
7. Start dnode 1
8. Ensure cluster work well

Cluster 5 dnodes 3 mnode insert async
1. Create 5 node and 3 mnode cluster
2. Ensure above cluster setup success
3. Check mnode is leader and only 1 mnode
4. Except check some error operations
5. Insert data async by threading
6. Stop dnode 1
7. Start dnode 1
8. Ensure cluster work well

Cluster 5 dnodes 3 mnode create db
1. Create 5 node and 3 mnode cluster
2. Ensure above cluster setup success
3. Check mnode is leader and only 1 mnode
4. Except check some error operations
5. Create database for four times
6. Stop dnode 1
7. Start dnode 1
8. Ensure cluster work well

Cluster 5 dnodes 3 mnode create db
1. Create 5 node and 3 mnode cluster
2. Ensure above cluster setup success
3. Check mnode is leader and only 1 mnode
4. Except check some error operations
5. Create super table
6. Stop dnode 1
7. Start dnode 1
8. Ensure cluster work well

Cluster 5 dnodes 3 mnode modify meta
1. Create 5 node and 3 mnode cluster
2. Ensure above cluster setup success
3. Check mnode is leader and only 1 mnode
4. Except check some error operations
5. Create super table
6. Insert data
7. Stop dnode 1
8. Start dnode 1
9. Check dnodes and cluster status

Cluster 5 dnodes 3 mnode create db mnode
1. Create 5 node and 3 mnode cluster
2. Ensure above cluster setup success
3. Check mnode is leader and only 1 mnode
4. Except check some error operations
5. Create database for four times
6. Stop mnode 1
7. Start mnode 1
8. Ensure cluster work well

Cluster 5 dnodes 3 mnode create stb
1. Create 5 node and 3 mnode cluster
2. Ensure above cluster setup success
3. Check mnode is leader and only 1 mnode
4. Except check some error operations
5. Create stable for 2 times
6. Stop dnode 1
7. Start dnode 1
8. Check stable number

Cluster 5 dnodes 3 mnode modify meta mnode
1. Create 5 node and 3 mnode cluster
2. Ensure above cluster setup success
3. Check mnode is leader and only 1 mnode
4. Except check some error operations
5. Create super table
6. Insert data
7. Stop mnode 1
8. Start mnode 1
9. Check dnodes and cluster status

Cluster 5 dnodes 3 mnode create db vnode
1. Create 5 node and 3 mnode cluster
2. Ensure above cluster setup success
3. Check mnode is leader and only 1 mnode
4. Except check some error operations
5. Create database for four times
6. Stop vnode 1
7. Start vnode 1
8. Ensure cluster work well

Cluster 5 dnodes 3 mnode create stb vnode
1. Create 5 node and 3 mnode cluster
2. Ensure above cluster setup success
3. Check mnode is leader and only 1 mnode
4. Except check some error operations
5. Create stable for 2 times
6. Stop vnode
7. Start vnode
8. Check stable number

Cluster 5 dnodes 3 mnode stop
1. Create 5 node and 3 mnode cluster
2. Ensure above cluster setup success
3. Stop dnode 2 check mnode have 3
4. Start dnode 2
5. Stop dnode 3 check mnode have 3
6. Start dnode 3
7. Stop dnode 1 check mnode have 3
8. Start dnode 1

Cluster 5 dnodes 3 mnode stop 2 follower
1. Create 5 node and 3 mnode cluster
2. Ensure above cluster setup success
3. Check mnode is leader and only 1 mnode
4. Except check some error operations
5. Stop dnode 3
6. Check mnode 3 status is offline
7. Start dnode 3
8. Check mnode status is normal

Cluster 5 dnodes 3 mnode stop follower
1. Create 5 node and 3 mnode cluster
2. Ensure above cluster setup success
3. Check mnode is leader and only 1 mnode
4. Except check some error operations
5. Stop dnode 0/1
6. Start dnode 0
7. Check mnode 2 status is offline
8. Create some database
9. Check database created successfully

Cluster 5 dnodes 3 mnode stop loop
1. Create 5 node and 3 mnode cluster
2. Ensure above cluster setup success
3. Stop all dnodes
4. Start all dnode
5. Check dnodes status normally
6. Check mnode status normally

Cluster 5 dnodes 3 mnodes
1. Create 5 dnode 3 mnode cluster
2. Create database and stables
3. Insert data into stables
4. Add 1 dnode to cluster during data insertion
5. Restart all dnodes one by one
6. Verify data integrity

Cluster database with replica 3
1. Create 5 dnodes 3 mnodes cluster
2. Create database with replica 3 and vgroups 4
3. Stop dnode one by one and check mnode status
4. Restart dnode one by one and check mnode status
5. Check vgroups status and replica status

Cluster 6 dnodes 3 mnode rep3to1to3
1. Create 6 node and 3 mnode cluster
2. Ensure above cluster setup success
3. Create database with replica 3
4. Create stable and child table, insert less data
5. Alter database replica to 1
6. Ensure cluster work well
7. Alter database replica to 3
8. Ensure cluster work well
9. Except check some error operations

BALANCE VGROUP LEADER DATABASE with backtick-quoted db names
1. Create 3-dnode cluster
2. Create database with uppercase name (TEST_BIG) replica 3 vgroups 2
3. Create database with lowercase name (test_lower) replica 3 vgroups 2
4. BALANCE VGROUP LEADER DATABASE `TEST_BIG` -- backtick uppercase
5. BALANCE VGROUP LEADER DATABASE TEST_BIG -- plain uppercase
6. BALANCE VGROUP LEADER DATABASE `test_lower` -- backtick lowercase
7. BALANCE VGROUP LEADER DATABASE test_lower -- plain lowercase
8. Verify each balance succeeds and every vgroup still has a leader

Cluster arbitrator basic
1. Create cluster with 3 dnodes
2. Create a database and a stable with 2 replicas
3. Create a child table
4. Stop one dnode which is follower
5. Check the vgroup status to be assigned
6. Restart the dnodes
7. Insert data into the child table
8. Check inserted data is correct
9. Check the vgroup status to be candidate
10. Check "show arbgroups" result

Cluster arbitrator applied index check
1. Create cluster with 3 dnodes
2. Create a database and a stable with 2 replicas
3. Create a child table
4. Stop one dnode which is follower
5. Check the vgroup status to be assigned
6. Insert 100000 rows data into the child table by benchmark
7. Check inserted data is correct
8. Restart the dnodes
9. Check the vgroup status to be candidate
10. Check "show arbgroups" result

Cluster check empty db
1. Create 5 dnodes cluster
2. Create empty database
3. Start and stop dnode 2
4. Check cluster status

Cluster restart dnode one by one
1. Create 5 dnodes cluster
2. Create database with replica 3 and vgroups 3
3. Start and stop dnode 2 and dnode 3 one by one
4. Check cluster status

Cluster drop table by uid
1. Create cluster with 3 dnodes
2. Verify the feature of 'drop table by uid' for TS-5111 on cluster
FS: https://taosdata.feishu.cn/wiki/JgeDwZkH3iTNv2ksVkWcHenKnTf
TS: https://taosdata.feishu.cn/wiki/DX3FwopwGiXCeRkBNXFcj0MBnnb

Check data correct after remove wal
1. Create 3 dnode cluster environment
2. Create database with 2 vgroups and 3 replicas
3. Create stable and child tables
4. Insert initial data and flush
5. Stop one dnode and insert more data
6. Take incremental snapshot
7. Stop all dnodes and remove wal directories
8. Restart all dnodes and check vgroup status
9. Check data correctness and aggregation correctness

Cluster kill restore dnode
1. Create 5 dnode 3 mnode cluster
2. Create 1 db, 1 stable, 100 childs table
3. Insert 10w records for each child table
4. Stop dnode 2
5. Delete the data folder of dnode 2
6. Start dnode 2
7. Restore dnode 2 data with "restore dnode 2"
8. Kill the restore transaction
9. Restart the restore dnode 2
10. Check data correctness

Cluster restore dnode
1. Create 5 dnode 3 mnode cluster
2. Create 1 db, 1 stable, 100 childs table
3. Insert 10w records for each child table
4. Stop dnode 2
5. Delete the data folder of dnode 2
6. Start dnode 2
7. Restore dnode 2 data with "restore dnode 2"
8. Check data correctness

Cluster restore mnode
1. Create 5 dnode 3 mnode cluster
2. Create 1 db, 1 stable, 100 childs table
3. Insert 10w records for each child table
4. Stop dnode 3
5. Delete the mnode data folder of dnode 3
6. Start dnode 3
7. Restore dnode 3 mnode data with "restore mnode on dnode 3"
8. Check data correctness

Cluster restore qnode
1. Create 5 dnode 3 mnode cluster
2. Create 1 db, 1 stable, 100 childs table
3. Insert 10w records for each child table
4. Stop dnode 5
5. Delete the qnode data folder of dnode 5
6. Start dnode 5
7. Restore dnode 5 qnode data with "restore qnode on dnode 5"
8. Check data correctness

Cluster restore vnode
1. Create 5 dnode 3 mnode cluster
2. Create 1 db, 1 stable, 100 childs table
3. Insert 10w records for each child table
4. Stop dnode 4
5. Delete the vnodes data folder of dnode 4
6. Start dnode 4
7. Restore dnode 4 vnode data with "restore vnode on dnode 4"
8. Check data correctness

Cluster snapshot aggregation
1. Create 3 dnode cluster environment
2. taosBenchmark insert data with full data-type columns
3. Check taosBenchmark insert data correct
4. Save snapshot with snapshot aggregation like avg, min, max, sum, count
5. Do cluster action: split vgroups, trim, balance vgroup leaders, alter replica, compact
6. Check snapshot aggregation result correct
7. Check taosBenchmark insert data correct again
8. Check float double value correct again

Cluster split vgroups by learner
1. Create 3 dnode cluster environment
2. taosBenchmark insert data with full data-type columns
3. Check taosBenchmark insert data correct
4. Save snapshot with snapshot aggregation like avg, min, max, sum, count
5. Do cluster action: split vgroups, trim, balance vgroup leaders, alter replica, compact
6. Check snapshot aggregation result correct
7. Check taosBenchmark insert data correct again
8. Check float double value correct again

Cluster threads
1. Create 3 dnode cluster environment
2. Create 3 database for precision ns/us/ms
3. Create 3 normal tables in each database
4. Insert 2 rows data for each table
5. Start 10 threads to `desc table` concurrently for 100 times
6. Check no coredump happen
7. Show local/cluster variables like 'debugFlag' and check the results
8. Show cluster variables like 'ss%' and check the results
9. Show cluster variables like 'Max%' and check the results
10. Show cluster variables like 'ttl%' and check the results

Cluster remove wal files
1. Create 3 dnode cluster environment
2. taosBenchmark insert 1 stb 100 child tables with 3 replica
3. flush database
4. stop dnode 3
5. taosBenchmark insert more data into the stb again
6. flush database
7. stop all dnodes
8. remove wal files from dnode1 and dnode2
9. start all dnodes
10. check coredump not happen

Cluster compact db conflict
1. Create database db vgroups 4 replica 1
2. Start multiple threads to do compact db
3. During compact db do alter database/split vgroup/redistribute vgroup/balance vgroup
4. Ensure all above operations report conflict error

KILL COMPACT FORCE removes SDB records even when a dnode is offline
1. Start 3-dnode cluster; create DB with replica 3, 16 vgroups.
2. Insert data and flush to disk.
3. Stop dnode 3.
4. Start compact on the database.
5. KILL COMPACT <id> FORCE.
6. Verify show compacts returns 0 rows (SDB records deleted).
7. Restart dnode 3; wait until all 3 dnodes are online again.
8. BALANCE VGROUP LEADER.
9. Query data — verify row count matches what was inserted.
10. Run a normal compact and wait for it to finish.
11. Insert more data, run compact again, wait for finish.
12. Final query — verify total row count is correct.

Cluster mnode encrypt
1. Create database db
2. Create stable st with tags
3. Create 4 child tables t0,t1,t2,t3 using st
4. Check create child tables number is 4
5. Insert data into t0,t1,t2,t3
6. Query and check data from t0,t1,t2,t3

taosd starts normally and queries succeed after WAL corruption
1. Check 1 dnode is ready
2. ALTER ALL DNODES 'walDeleteOnCorruption' '1' (ONE SQL change;
persists via mnode across dnode restarts)
3. For each position (first/middle/last) and corruption type
(truncate/delete):
a. Create single-replica database, accumulate >=3 WAL segments
b. Stop dnode, corrupt the target WAL file
c. Restart dnode — assert taosd comes back ready
d. Assert queries on the database succeed
e. Drop database, clean up wal.corrupted.* dirs

taosd starts normally and queries succeed after WAL corruption
1. Check 3 dnodes are ready
2. ALTER ALL DNODES 'walDeleteOnCorruption' '1'
3. For each position (first/middle/last) and corruption type
(truncate/delete):
a. Create 3-replica database, accumulate >=3 WAL segments on dnode 3
b. Stop dnode 3, corrupt the target WAL file
c. Restart dnode 3 — assert cluster comes back to 3 ready dnodes
d. Assert queries on the database succeed
e. Drop database, clean up wal.corrupted.* dirs