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
c8f06902
Commit
c8f06902
authored
Nov 29, 2016
by
antirez
Browse files
PSYNC2 test: modify the test for production.
parent
eab865a0
Changes
1
Hide whitespace changes
Inline
Side-by-side
tests/integration/psync2.tcl
View file @
c8f06902
...
@@ -3,18 +3,15 @@ start_server {} {
...
@@ -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 {} {
...
@@ -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 {} {
...
@@ -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 {} {
...
@@ -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
}
}}}}}
}}}}}
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