mirror of
https://github.com/fluencelabs/redis
synced 2025-03-30 22:31:03 +00:00
A more lightweight implementation of issue 141 regression test.
This commit is contained in:
parent
ffe003dcbe
commit
2d4b55214f
@ -82,12 +82,11 @@ start_server {tags {"repl"}} {
|
|||||||
set master_host [srv 0 host]
|
set master_host [srv 0 host]
|
||||||
set master_port [srv 0 port]
|
set master_port [srv 0 port]
|
||||||
set slaves {}
|
set slaves {}
|
||||||
set load_handle0 [start_write_load $master_host $master_port 20]
|
set load_handle0 [start_write_load $master_host $master_port 3]
|
||||||
set load_handle1 [start_write_load $master_host $master_port 20]
|
set load_handle1 [start_write_load $master_host $master_port 5]
|
||||||
set load_handle2 [start_write_load $master_host $master_port 20]
|
set load_handle2 [start_write_load $master_host $master_port 20]
|
||||||
set load_handle3 [start_write_load $master_host $master_port 20]
|
set load_handle3 [start_write_load $master_host $master_port 8]
|
||||||
set load_handle4 [start_write_load $master_host $master_port 20]
|
set load_handle4 [start_write_load $master_host $master_port 4]
|
||||||
after 2000
|
|
||||||
start_server {} {
|
start_server {} {
|
||||||
lappend slaves [srv 0 client]
|
lappend slaves [srv 0 client]
|
||||||
start_server {} {
|
start_server {} {
|
||||||
@ -95,6 +94,7 @@ start_server {tags {"repl"}} {
|
|||||||
start_server {} {
|
start_server {} {
|
||||||
lappend slaves [srv 0 client]
|
lappend slaves [srv 0 client]
|
||||||
test "Connect multiple slaves at the same time (issue #141)" {
|
test "Connect multiple slaves at the same time (issue #141)" {
|
||||||
|
# Send SALVEOF commands to slaves
|
||||||
[lindex $slaves 0] slaveof $master_host $master_port
|
[lindex $slaves 0] slaveof $master_host $master_port
|
||||||
[lindex $slaves 1] slaveof $master_host $master_port
|
[lindex $slaves 1] slaveof $master_host $master_port
|
||||||
[lindex $slaves 2] slaveof $master_host $master_port
|
[lindex $slaves 2] slaveof $master_host $master_port
|
||||||
@ -113,16 +113,33 @@ start_server {tags {"repl"}} {
|
|||||||
if {$retry == 0} {
|
if {$retry == 0} {
|
||||||
error "assertion:Slaves not correctly synchronized"
|
error "assertion:Slaves not correctly synchronized"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Stop the write load
|
||||||
stop_write_load $load_handle0
|
stop_write_load $load_handle0
|
||||||
stop_write_load $load_handle1
|
stop_write_load $load_handle1
|
||||||
stop_write_load $load_handle2
|
stop_write_load $load_handle2
|
||||||
stop_write_load $load_handle3
|
stop_write_load $load_handle3
|
||||||
stop_write_load $load_handle4
|
stop_write_load $load_handle4
|
||||||
set retry 10
|
|
||||||
while {$retry && ([$master debug digest] ne [[lindex $slaves 0] debug digest])} {
|
# Wait that slaves exit the "loading" state
|
||||||
after 1000
|
wait_for_condition 500 100 {
|
||||||
incr retry -1
|
![string match {*loading:1*} [[lindex $slaves 0] info]] &&
|
||||||
|
![string match {*loading:1*} [[lindex $slaves 1] info]] &&
|
||||||
|
![string match {*loading:1*} [[lindex $slaves 2] info]]
|
||||||
|
} else {
|
||||||
|
fail "Slaves still loading data after too much time"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Make sure that slaves and master have same number of keys
|
||||||
|
wait_for_condition 500 100 {
|
||||||
|
[$master dbsize] == [[lindex $slaves 0] dbsize] &&
|
||||||
|
[$master dbsize] == [[lindex $slaves 1] dbsize] &&
|
||||||
|
[$master dbsize] == [[lindex $slaves 2] dbsize]
|
||||||
|
} else {
|
||||||
|
fail "Different number of keys between masted and slave after too long time."
|
||||||
|
}
|
||||||
|
|
||||||
|
# Check digests
|
||||||
set digest [$master debug digest]
|
set digest [$master debug digest]
|
||||||
set digest0 [[lindex $slaves 0] debug digest]
|
set digest0 [[lindex $slaves 0] debug digest]
|
||||||
set digest1 [[lindex $slaves 1] debug digest]
|
set digest1 [[lindex $slaves 1] debug digest]
|
||||||
@ -131,10 +148,6 @@ start_server {tags {"repl"}} {
|
|||||||
assert {$digest eq $digest0}
|
assert {$digest eq $digest0}
|
||||||
assert {$digest eq $digest1}
|
assert {$digest eq $digest1}
|
||||||
assert {$digest eq $digest2}
|
assert {$digest eq $digest2}
|
||||||
#puts [$master dbsize]
|
|
||||||
#puts [[lindex $slaves 0] dbsize]
|
|
||||||
#puts [[lindex $slaves 1] dbsize]
|
|
||||||
#puts [[lindex $slaves 2] dbsize]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user