Skip to content

Commit 50004cb

Browse files
author
gd.zhou
committed
[hotfix] code crash when master change gtid mode to xsync
1 parent d69c02c commit 50004cb

File tree

2 files changed

+46
-1
lines changed

2 files changed

+46
-1
lines changed

deps/xredis-gtid

tests/gtid/xsync.tcl

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1594,3 +1594,48 @@ start_server {tags {"xsync"} overrides {gtid-enabled yes gtid-xsync-max-gap 1000
15941594
}
15951595
}
15961596

1597+
1598+
1599+
1600+
start_server {tags {"xsync"} overrides {gtid-enabled yes}} {
1601+
start_server {overrides {gtid-enabled yes}} {
1602+
set M [srv -1 client]
1603+
set M_host [srv -1 host]
1604+
set M_port [srv -1 port]
1605+
set S [srv 0 client]
1606+
set S_host [srv 0 host]
1607+
set S_port [srv 0 port]
1608+
1609+
# trigger master to create repl backlog, so that M S master_repl_offset will differ
1610+
$S replicaof $M_host $M_port
1611+
wait_for_sync $S
1612+
1613+
wait_for_gtid_sync $M $S
1614+
1615+
$M config set repl-backlog-size 16484
1616+
for {set i 0} {$i < 100} {incr i} {
1617+
$M set key-$i val-$i
1618+
}
1619+
1620+
1621+
for {set j 0} {$j < 3} {incr j} {
1622+
$S slaveof "127.0.0.1" 1
1623+
if {[expr {$j % 2 }] == 0} {
1624+
$M config set gtid-enabled no
1625+
} else {
1626+
$M config set gtid-enabled yes
1627+
}
1628+
1629+
1630+
for {set i 0} {$i < 1000} {incr i} {
1631+
$M set key-$i val-$i
1632+
}
1633+
1634+
$S replicaof $M_host $M_port
1635+
wait_for_sync $S
1636+
1637+
wait_for_gtid_sync $M $S
1638+
}
1639+
1640+
}
1641+
}

0 commit comments

Comments
 (0)