mirror of
https://github.com/taosdata/TDengine
synced 2026-05-24 10:09:01 +00:00
* add API to use s3 as shared storage * support using local file system as shared storage * upload file to shared storage * support read, compact and drop * finish basic mnode & vnode msg processing * follower sync migration state * implement mnode transaction, and improve log * send migration progress msg to dnode to avoid deadlock * implement following migration * remove mcount * avoid redo migration on startup * avoid follower deadlock when leader is down * trigger migrate by timer, avoid compact after migration * comment out the usage of 'tcs' functions in stream * change config item prefix from s3 to ss * change db option prefix from s3 to ss * rename s3 data struct, function, file to ss * rename s3 macro to ss * update s3 sql to ss * rename remaining s3 items to ss * check ss configruation, improve s3 retry * grant object storage -> shared storage, check ssEnabled * fix memory leaks * update build options * omit sensitive information when dump config * fix backward compatibility issue * fix issues found in ci-checks * fix some failed test cases * avoid follower timeout and improve log * fix: follower timeout because migration status not updated * refuse migration if there's an in progress one * fix ss test case * remove garbage files and other minor improvement * fix failed test cases * update unit test * fix failed test case * fix failed test case * update document * update document and fix failed test cases * fix minor issues in code, test and document * check new commit after migration task is scheduled * fix several issus 1. migrate information cannot be dropped sometimes because progress response was put into read queue. 2. memory leak in rare cases 3. data corruption in rare cases 4. failed test case * add shared storage upgrade tool * fix compile error
387 lines
10 KiB
Text
387 lines
10 KiB
Text
system sh/stop_dnodes.sh
|
|
system sh/deploy.sh -n dnode1 -i 1
|
|
system sh/deploy.sh -n dnode2 -i 2
|
|
system sh/deploy.sh -n dnode3 -i 3
|
|
system sh/exec.sh -n dnode1 -s start
|
|
system sh/exec.sh -n dnode2 -s start
|
|
system sh/exec.sh -n dnode3 -s start
|
|
|
|
sql connect
|
|
sql create dnode $hostname port 7200
|
|
sql create dnode $hostname port 7300
|
|
|
|
$x = 0
|
|
step1:
|
|
$x = $x + 1
|
|
sleep 1000
|
|
if $x == 10 then
|
|
print ====> dnode not ready!
|
|
return -1
|
|
endi
|
|
sql select * from information_schema.ins_dnodes
|
|
print ===> $data00 $data01 $data02 $data03 $data04 $data05
|
|
print ===> $data10 $data11 $data12 $data13 $data14 $data15
|
|
print ===> $data20 $data21 $data22 $data23 $data24 $data25
|
|
if $rows != 3 then
|
|
return -1
|
|
endi
|
|
if $data(1)[4] != ready then
|
|
goto step1
|
|
endi
|
|
if $data(2)[4] != ready then
|
|
goto step1
|
|
endi
|
|
if $data(3)[4] != ready then
|
|
goto step1
|
|
endi
|
|
|
|
|
|
print ============= create database
|
|
#database_option: {
|
|
# | BUFFER value [3~16384, default: 256]
|
|
# | PAGES value [64~16384, default: 256]
|
|
# | CACHEMODEL value ['node', 'last_row', 'last_value', 'both']
|
|
# | WAL_FSYNC_PERIOD value [0 ~ 180000 ms]
|
|
# | KEEP value [duration, 365000]
|
|
# | REPLICA value [1 | 3]
|
|
# | WAL_LEVEL value [1 | 2]
|
|
|
|
sql create database db CACHEMODEL 'both' COMP 0 DURATION 240 WAL_FSYNC_PERIOD 1000 MAXROWS 8000 MINROWS 10 KEEP 1000 SS_KEEPLOCAL 720 PRECISION 'ns' REPLICA 3 WAL_LEVEL 2 VGROUPS 6 SINGLE_STABLE 1
|
|
sql select * from information_schema.ins_databases
|
|
print rows: $rows
|
|
print $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
|
|
print $data10 $data11 $data12 $data13 $data14 $data15 $data16 $data17 $data18 $data19
|
|
print ====> dataX_db
|
|
print $data(db)[0] $data(db)[1] $data2_db $data3_db $data4_db $data5_db $data6_db $data7_db $data8_db $data9_db $data10_db $data11_db $data12_db $data13_db $data14_db $data15_db $data16_db $data17_db
|
|
|
|
if $rows != 3 then
|
|
return -1
|
|
endi
|
|
if $data0_db != db then # name
|
|
return -1
|
|
endi
|
|
if $data2_db != 6 then # vgroups
|
|
return -1
|
|
endi
|
|
if $data3_db != 0 then # ntables
|
|
return -1
|
|
endi
|
|
if $data4_db != 3 then # replica
|
|
return -1
|
|
endi
|
|
if $data5_db != on then # strict
|
|
return -1
|
|
endi
|
|
if $data6_db != 240d then # duration
|
|
return -1
|
|
endi
|
|
if $data7_db != 1000d,1000d,1000d then # keep
|
|
return -1
|
|
endi
|
|
if $data8_db != 256 then # buffer
|
|
return -1
|
|
endi
|
|
if $data9_db != 4 then # pagesize
|
|
return -1
|
|
endi
|
|
if $data10_db != 256 then # pages
|
|
return -1
|
|
endi
|
|
if $data11_db != 10 then # minrows
|
|
return -1
|
|
endi
|
|
if $data12_db != 8000 then # maxrows
|
|
return -1
|
|
endi
|
|
if $data13_db != 0 then # comp
|
|
return -1
|
|
endi
|
|
if $data14_db != ns then # precision
|
|
return -1
|
|
endi
|
|
if $data18_db != both then # cachemodel
|
|
return -1
|
|
endi
|
|
if $data19_db != 1 then # cash_size
|
|
return -1
|
|
endi
|
|
if $data20_db != 2 then # wal_level level
|
|
return -1
|
|
endi
|
|
if $data21_db != 1000 then # wal_level fsyncperiod
|
|
return -1
|
|
endi
|
|
if $data22_db != 3600 then # wal_retention_period
|
|
return -1
|
|
endi
|
|
if $data23_db != 0 then # wal_retention_size
|
|
return -1
|
|
endi
|
|
|
|
#sql show db.vgroups
|
|
#if $data[0][4] == leader then
|
|
# if $data[0][6] != follower then
|
|
# return -1
|
|
# endi
|
|
# if $data[0][8] != follower then
|
|
# return -1
|
|
# endi
|
|
#endi
|
|
#if $data[0][6] == leader then
|
|
# if $data[0][4] != follower then
|
|
# return -1
|
|
# endi
|
|
# if $data[0][8] != follower then
|
|
# return -1
|
|
# endi
|
|
#endi
|
|
#if $data[0][8] == leader then
|
|
# if $data[0][4] != follower then
|
|
# return -1
|
|
# endi
|
|
# if $data[0][6] != follower then
|
|
# return -1
|
|
# endi
|
|
#endi
|
|
#
|
|
#if $data[0][4] != leader then
|
|
# if $data[0][4] != follower then
|
|
# return -1
|
|
# endi
|
|
#endi
|
|
#if $data[0][6] != leader then
|
|
# if $data[0][6] != follower then
|
|
# return -1
|
|
# endi
|
|
#endi
|
|
#if $data[0][8] != leader then
|
|
# if $data[0][8] != follower then
|
|
# return -1
|
|
# endi
|
|
#endi
|
|
|
|
print ============== not support modify options: name, create_time, vgroups, ntables
|
|
sql_error alter database db name dba
|
|
sql_error alter database db create_time "2022-03-03 15:08:13.329"
|
|
sql_error alter database db vgroups -1
|
|
sql_error alter database db vgroups 0
|
|
sql_error alter database db vgroups 2
|
|
sql_error alter database db vgroups 20
|
|
sql_error alter database db ntables -1
|
|
sql_error alter database db ntables 0
|
|
sql_error alter database db ntables 1
|
|
sql_error alter database db ntables 10
|
|
|
|
#print ============== modify replica # TD-14409
|
|
sql_error alter database db replica 2
|
|
sql_error alter database db replica 5
|
|
sql_error alter database db replica -1
|
|
sql_error alter database db replica 0
|
|
#sql alter database db replica 1
|
|
#sql select * from information_schema.ins_databases
|
|
#print replica: $data4_db
|
|
#if $data4_db != 1 then
|
|
# return -1
|
|
#endi
|
|
#sql alter database db replica 3
|
|
#sql select * from information_schema.ins_databases
|
|
#print replica: $data4_db
|
|
#if $data4_db != 3 then
|
|
# return -1
|
|
#endi
|
|
|
|
#print ============== modify quorum
|
|
#sql alter database db quorum 2
|
|
#sql select * from information_schema.ins_databases
|
|
#print quorum $data5_db
|
|
#if $data5_db != 2 then
|
|
# return -1
|
|
#endi
|
|
#sql alter database db quorum 1
|
|
#sql select * from information_schema.ins_databases
|
|
#print quorum $data5_db
|
|
#if $data5_db != 1 then
|
|
# return -1
|
|
#endi
|
|
|
|
#sql_error alter database db quorum -1
|
|
#sql_error alter database db quorum 0
|
|
#sql_error alter database db quorum 3
|
|
#sql_error alter database db quorum 4
|
|
#sql_error alter database db quorum 5
|
|
|
|
#print ============== modify duration
|
|
sql_error alter database db duration 480
|
|
sql_error alter database db duration 360
|
|
sql_error alter database db duration 0
|
|
sql_error alter database db duration 14400 # set over than keep
|
|
|
|
print ============== modify keep
|
|
sql alter database db keep 2400
|
|
sql select * from information_schema.ins_databases
|
|
print keep $data7_db
|
|
if $data7_db != 2400d,2400d,2400d then
|
|
return -1
|
|
endi
|
|
|
|
#sql alter database db keep 1000,2000
|
|
#sql select * from information_schema.ins_databases
|
|
#print keep $data7_db
|
|
#if $data7_db != 500,500,500 then
|
|
# return -1
|
|
#endi
|
|
|
|
#sql alter database db keep 40,50
|
|
#sql alter database db keep 30,31
|
|
#sql alter database db keep 20
|
|
#sql_error alter database db keep 10.0
|
|
#sql_error alter database db keep 9
|
|
#sql_error alter database db keep 1
|
|
sql_error alter database db keep 0
|
|
sql_error alter database db keep -1
|
|
#sql_error alter database db keep 365001
|
|
|
|
#print ============== modify cache
|
|
#sql_error alter database db cache 12
|
|
#sql_error alter database db cache 1
|
|
#sql_error alter database db cache 60
|
|
#sql_error alter database db cache 50
|
|
#sql_error alter database db cache 20
|
|
#sql_error alter database db cache 3
|
|
#sql_error alter database db cache 129
|
|
#sql_error alter database db cache 300
|
|
#sql_error alter database db cache 0
|
|
#sql_error alter database db cache -1
|
|
|
|
#print ============== modify blocks
|
|
#sql alter database db blocks 3
|
|
#sql select * from information_schema.ins_databases
|
|
#print blocks $data9_db
|
|
#if $data9_db != 3 then
|
|
# return -1
|
|
#endi
|
|
#sql alter database db blocks 11
|
|
#sql select * from information_schema.ins_databases
|
|
#print blocks $data9_db
|
|
#if $data9_db != 11 then
|
|
# return -1
|
|
#endi
|
|
|
|
#sql alter database db blocks 40
|
|
#sql alter database db blocks 30
|
|
#sql alter database db blocks 20
|
|
#sql alter database db blocks 10
|
|
#sql_error alter database db blocks 2
|
|
#sql_error alter database db blocks 1
|
|
#sql_error alter database db blocks 0
|
|
#sql_error alter database db blocks -1
|
|
#sql_error alter database db blocks 10001
|
|
|
|
print ============== modify minrows
|
|
sql_error alter database db minrows 8
|
|
sql_error alter database db minrows 8000000
|
|
sql_error alter database db minrows 8001000
|
|
|
|
print ============== modify maxrows
|
|
sql_error alter database db maxrows 10000001
|
|
sql_error alter database db maxrows 20000000
|
|
sql_error alter database db maxrows 11 # equal minrows
|
|
sql_error alter database db maxrows 10 # little than minrows
|
|
|
|
print ============== step wal_level
|
|
sql alter database db wal_level 1
|
|
sql select * from information_schema.ins_databases
|
|
print wal_level $data20_db
|
|
if $data20_db != 1 then
|
|
return -1
|
|
endi
|
|
sql alter database db wal_level 2
|
|
sql select * from information_schema.ins_databases
|
|
print wal_level $data20_db
|
|
if $data20_db != 2 then
|
|
return -1
|
|
endi
|
|
|
|
sql_error alter database db wal_level 0 # TD-14436
|
|
sql_error alter database db wal_level 3
|
|
sql_error alter database db wal_level 100
|
|
sql_error alter database db wal_level -1
|
|
|
|
print ============== modify wal_fsync_period
|
|
sql alter database db wal_fsync_period 2000
|
|
sql select * from information_schema.ins_databases
|
|
print wal_fsync_period $data21_db
|
|
if $data21_db != 2000 then
|
|
return -1
|
|
endi
|
|
sql alter database db wal_fsync_period 500
|
|
sql select * from information_schema.ins_databases
|
|
print wal_fsync_period $data21_db
|
|
if $data21_db != 500 then
|
|
return -1
|
|
endi
|
|
sql alter database db wal_fsync_period 0
|
|
sql select * from information_schema.ins_databases
|
|
print wal_fsync_period $data21_db
|
|
if $data21_db != 0 then
|
|
return -1
|
|
endi
|
|
sql_error alter database db wal_fsync_period 180001
|
|
sql_error alter database db wal_fsync_period -1
|
|
|
|
print ============== modify comp
|
|
sql_error alter database db comp 1
|
|
sql_error alter database db comp 2
|
|
sql_error alter database db comp 1
|
|
sql_error alter database db comp 0
|
|
sql_error alter database db comp 3
|
|
sql_error alter database db comp 4
|
|
sql_error alter database db comp 5
|
|
sql_error alter database db comp -1
|
|
|
|
print ============== modify cachelast [0, 1, 2, 3]
|
|
sql alter database db cachemodel 'last_value'
|
|
sql select * from information_schema.ins_databases
|
|
print cachelast $data18_db
|
|
if $data18_db != last_value then
|
|
return -1
|
|
endi
|
|
sql alter database db cachemodel 'last_row'
|
|
sql select * from information_schema.ins_databases
|
|
print cachelast $data18_db
|
|
if $data18_db != last_row then
|
|
return -1
|
|
endi
|
|
sql alter database db cachemodel 'none'
|
|
sql select * from information_schema.ins_databases
|
|
print cachelast $data18_db
|
|
if $data18_db != none then
|
|
return -1
|
|
endi
|
|
sql alter database db cachemodel 'last_value'
|
|
sql select * from information_schema.ins_databases
|
|
print cachelast $data18_db
|
|
if $data18_db != last_value then
|
|
return -1
|
|
endi
|
|
sql alter database db cachemodel 'both'
|
|
sql select * from information_schema.ins_databases
|
|
print cachelast $data18_db
|
|
if $data18_db != both then
|
|
return -1
|
|
endi
|
|
|
|
sql_error alter database db cachelast 4
|
|
sql_error alter database db cachelast 10
|
|
sql_error alter database db cachelast 'other'
|
|
|
|
print ============== modify precision
|
|
sql_error alter database db precision 'ms'
|
|
sql_error alter database db precision 'us'
|
|
sql_error alter database db precision 'ns'
|
|
sql_error alter database db precision 'ys'
|
|
sql_error alter database db prec 'xs'
|
|
|
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
|
system sh/exec.sh -n dnode2 -s stop -x SIGINT
|
|
system sh/exec.sh -n dnode3 -s stop -x SIGINT
|