mirror of
https://github.com/fluencelabs/redis
synced 2025-04-22 17:12:13 +00:00
PSYNC2 test: modify the test for production.
This commit is contained in:
parent
eab865a0a1
commit
c8f0690255
@ -3,18 +3,15 @@ start_server {} {
|
|||||||
start_server {} {
|
start_server {} {
|
||||||
start_server {} {
|
start_server {} {
|
||||||
start_server {} {
|
start_server {} {
|
||||||
for {set j 0} {$j < 5} {incr j} {
|
|
||||||
set R($j) [srv [expr 0-$j] client]
|
|
||||||
set R_host($j) [srv [expr 0-$j] host]
|
|
||||||
set R_port($j) [srv [expr 0-$j] port]
|
|
||||||
puts "Log file: [srv [expr 0-$j] stdout]"
|
|
||||||
}
|
|
||||||
|
|
||||||
set master_id 0 ; # Current master
|
set master_id 0 ; # Current master
|
||||||
set start_time [clock seconds] ; # Test start time
|
set start_time [clock seconds] ; # Test start time
|
||||||
set counter_value 0 ; # Current value of the Redis counter "x"
|
set counter_value 0 ; # Current value of the Redis counter "x"
|
||||||
|
|
||||||
# Config
|
# Config
|
||||||
|
set debug_msg 0 ; # Enable additional debug messages
|
||||||
|
|
||||||
|
set no_exit 0; ; # Do not exit at end of the test
|
||||||
|
|
||||||
set duration 60 ; # Total test seconds
|
set duration 60 ; # Total test seconds
|
||||||
|
|
||||||
set genload 1 ; # Load master with writes at every cycle
|
set genload 1 ; # Load master with writes at every cycle
|
||||||
@ -27,6 +24,13 @@ start_server {} {
|
|||||||
|
|
||||||
set disconnect_period 1000 ; # Disconnect repl link every N ms.
|
set disconnect_period 1000 ; # Disconnect repl link every N ms.
|
||||||
|
|
||||||
|
for {set j 0} {$j < 5} {incr j} {
|
||||||
|
set R($j) [srv [expr 0-$j] client]
|
||||||
|
set R_host($j) [srv [expr 0-$j] host]
|
||||||
|
set R_port($j) [srv [expr 0-$j] port]
|
||||||
|
if {$debug_msg} {puts "Log file: [srv [expr 0-$j] stdout]"}
|
||||||
|
}
|
||||||
|
|
||||||
while {([clock seconds]-$start_time) < $duration} {
|
while {([clock seconds]-$start_time) < $duration} {
|
||||||
|
|
||||||
# Create a random replication layout.
|
# Create a random replication layout.
|
||||||
@ -87,7 +91,9 @@ start_server {} {
|
|||||||
set slave_id [randomInt 5]
|
set slave_id [randomInt 5]
|
||||||
if {$disconnect} {
|
if {$disconnect} {
|
||||||
$R($slave_id) client kill type master
|
$R($slave_id) client kill type master
|
||||||
puts "+++ Breaking link for slave #$slave_id"
|
if {$debug_msg} {
|
||||||
|
puts "+++ Breaking link for slave #$slave_id"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -112,17 +118,27 @@ start_server {} {
|
|||||||
# and sometimes a full resync will be needed.
|
# and sometimes a full resync will be needed.
|
||||||
$R($master_id) slaveof 127.0.0.1 0 ;# We use port zero to make it fail.
|
$R($master_id) slaveof 127.0.0.1 0 ;# We use port zero to make it fail.
|
||||||
|
|
||||||
for {set j 0} {$j < 5} {incr j} {
|
if {$debug_msg} {
|
||||||
puts "$j: sync_full: [status $R($j) sync_full]"
|
for {set j 0} {$j < 5} {incr j} {
|
||||||
puts "$j: id1 : [status $R($j) master_replid]:[status $R($j) master_repl_offset]"
|
puts "$j: sync_full: [status $R($j) sync_full]"
|
||||||
puts "$j: id2 : [status $R($j) master_replid2]:[status $R($j) second_repl_offset]"
|
puts "$j: id1 : [status $R($j) master_replid]:[status $R($j) master_repl_offset]"
|
||||||
puts "$j: backlog : firstbyte=[status $R($j) repl_backlog_first_byte_offset] len=[status $R($j) repl_backlog_histlen]"
|
puts "$j: id2 : [status $R($j) master_replid2]:[status $R($j) second_repl_offset]"
|
||||||
puts "---"
|
puts "$j: backlog : firstbyte=[status $R($j) repl_backlog_first_byte_offset] len=[status $R($j) repl_backlog_histlen]"
|
||||||
|
puts "---"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
test "PSYNC2: total sum of full synchronizations is exactly 4" {
|
||||||
|
set sum 0
|
||||||
|
for {set j 0} {$j < 5} {incr j} {
|
||||||
|
incr sum [status $R($j) sync_full]
|
||||||
|
}
|
||||||
|
assert {$sum == 4}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# XXXXXXXXXXXX
|
if {$no_exit} {
|
||||||
while 1 { puts -nonewline .; flush stdout; after 1000}
|
while 1 { puts -nonewline .; flush stdout; after 1000}
|
||||||
# XXXXXXXXXXXX
|
}
|
||||||
|
|
||||||
}}}}}
|
}}}}}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user