Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
redis
Commits
76e0be41
Commit
76e0be41
authored
Aug 05, 2015
by
antirez
Browse files
PSYNC test: also test the vanilla SYNC.
parent
62b5c60e
Changes
1
Hide whitespace changes
Inline
Side-by-side
tests/integration/replication-psync.tcl
View file @
76e0be41
...
...
@@ -13,7 +13,11 @@ proc stop_bg_complex_data {handle} {
#
# You can specifiy backlog size, ttl, delay before reconnection, test duration
# in seconds, and an additional condition to verify at the end.
proc test_psync
{
descr duration backlog_size backlog_ttl delay cond diskless
}
{
#
# If reconnect is > 0, the test actually try to break the connection and
# reconnect with the master, otherwise just the initial synchronization is
# checked for consistency.
proc test_psync
{
descr duration backlog_size backlog_ttl delay cond diskless reconnect
}
{
start_server
{
tags
{
"repl"
}}
{
start_server
{}
{
...
...
@@ -50,22 +54,24 @@ proc test_psync {descr duration backlog_size backlog_ttl delay cond diskless} {
}
}
test
"Test replication partial resync:
$descr
(diskless:
$diskless
)"
{
test
"Test replication partial resync:
$descr
(diskless:
$diskless
, reconnect:
$reconnect
)"
{
# Now while the clients are writing data, break the maste-slave
# link multiple times.
for
{
set j 0
}
{
$j
< $duration*10
}
{
incr j
}
{
after 100
# catch
{
puts
"MASTER
[
$master
dbsize
]
keys, SLAVE
[
$slave
dbsize
]
keys"
}
if
(
$reconnect
)
{
for
{
set j 0
}
{
$j
< $duration*10
}
{
incr j
}
{
after 100
# catch
{
puts
"MASTER
[
$master
dbsize
]
keys, SLAVE
[
$slave
dbsize
]
keys"
}
if
{(
$j
% 20
)
== 0
}
{
catch
{
if
{
$delay
}
{
$slave multi
$slave client kill $master_host:$master_port
$slave debug sleep $delay
$slave exec
}
else
{
$slave client kill $master_host:$master_port
if
{(
$j
% 20
)
== 0
}
{
catch
{
if
{
$delay
}
{
$slave multi
$slave client kill $master_host:$master_port
$slave debug sleep $delay
$slave exec
}
else
{
$slave client kill $master_host:$master_port
}
}
}
}
...
...
@@ -101,19 +107,22 @@ proc test_psync {descr duration backlog_size backlog_ttl delay cond diskless} {
}
foreach diskless
{
no yes
}
{
test_psync
{
no reconnection, just sync
}
6 1000000 3600 0
{
}
$diskless 0
test_psync
{
ok psync
}
6 1000000 3600 0
{
assert
{[
s -1 sync_partial_ok
]
> 0
}
}
$diskless
}
$diskless
1
test_psync
{
no backlog
}
6 100 3600 0.5
{
assert
{[
s -1 sync_partial_err
]
> 0
}
}
$diskless
}
$diskless
1
test_psync
{
ok after delay
}
3 100000000 3600 3
{
assert
{[
s -1 sync_partial_ok
]
> 0
}
}
$diskless
}
$diskless
1
test_psync
{
backlog expired
}
3 100000000 1 3
{
assert
{[
s -1 sync_partial_err
]
> 0
}
}
$diskless
}
$diskless
1
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment