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
5b4bec9d
Unverified
Commit
5b4bec9d
authored
Aug 27, 2018
by
Salvatore Sanfilippo
Committed by
GitHub
Aug 27, 2018
Browse files
Merge pull request #5265 from oranagra/stabilize_tests
Fix unstable tests on slow machines.
parents
5941022b
c8452ab0
Changes
3
Hide whitespace changes
Inline
Side-by-side
tests/unit/dump.tcl
View file @
5b4bec9d
...
@@ -33,7 +33,7 @@ start_server {tags {"dump"}} {
...
@@ -33,7 +33,7 @@ start_server {tags {"dump"}} {
set now
[
clock milliseconds
]
set now
[
clock milliseconds
]
r restore foo
[
expr $now+3000
]
$encoded absttl
r restore foo
[
expr $now+3000
]
$encoded absttl
set ttl
[
r pttl foo
]
set ttl
[
r pttl foo
]
assert
{
$ttl
>= 299
8
&& $ttl <= 3000
}
assert
{
$ttl
>= 299
0
&& $ttl <= 3000
}
r get foo
r get foo
}
{
bar
}
}
{
bar
}
...
@@ -44,7 +44,7 @@ start_server {tags {"dump"}} {
...
@@ -44,7 +44,7 @@ start_server {tags {"dump"}} {
r config set maxmemory-policy allkeys-lru
r config set maxmemory-policy allkeys-lru
r restore foo 0 $encoded idletime 1000
r restore foo 0 $encoded idletime 1000
set idle
[
r object idletime foo
]
set idle
[
r object idletime foo
]
assert
{
$idle
>= 1000 && $idle <= 100
2
}
assert
{
$idle
>= 1000 && $idle <= 10
1
0
}
r get foo
r get foo
}
{
bar
}
}
{
bar
}
...
...
tests/unit/maxmemory.tcl
View file @
5b4bec9d
...
@@ -143,9 +143,11 @@ start_server {tags {"maxmemory"}} {
...
@@ -143,9 +143,11 @@ start_server {tags {"maxmemory"}} {
}
}
}
}
proc test_slave_buffers
{
cmd_count payload_len limit_memory pipeline
}
{
proc test_slave_buffers
{
test_name
cmd_count payload_len limit_memory pipeline
}
{
start_server
{
tags
{
"maxmemory"
}}
{
start_server
{
tags
{
"maxmemory"
}}
{
start_server
{}
{
start_server
{}
{
set slave_pid
[
s process_id
]
test
"
$test
_name"
{
set slave
[
srv 0 client
]
set slave
[
srv 0 client
]
set slave_host
[
srv 0 host
]
set slave_host
[
srv 0 host
]
set slave_port
[
srv 0 port
]
set slave_port
[
srv 0 port
]
...
@@ -158,8 +160,10 @@ proc test_slave_buffers {cmd_count payload_len limit_memory pipeline} {
...
@@ -158,8 +160,10 @@ proc test_slave_buffers {cmd_count payload_len limit_memory pipeline} {
$master setrange
"key:
$j
"
100000 asdf
$master setrange
"key:
$j
"
100000 asdf
}
}
# make sure master doesn't disconnect slave because of timeout
$master config set repl-timeout 300
;
# 5 minutes
$master config set maxmemory-policy allkeys-random
$master config set maxmemory-policy allkeys-random
$master config set client-output-buffer-limit
"slave 100000000 100000000
6
0"
$master config set client-output-buffer-limit
"slave 100000000 100000000
30
0"
$master config set repl-backlog-size
[
expr
{
10*1024
}]
$master config set repl-backlog-size
[
expr
{
10*1024
}]
$slave slaveof $master_host $master_port
$slave slaveof $master_host $master_port
...
@@ -182,9 +186,9 @@ proc test_slave_buffers {cmd_count payload_len limit_memory pipeline} {
...
@@ -182,9 +186,9 @@ proc test_slave_buffers {cmd_count payload_len limit_memory pipeline} {
# put the slave to sleep
# put the slave to sleep
set rd_slave
[
redis_deferring_client
]
set rd_slave
[
redis_deferring_client
]
$rd_slave debug sleep 300
exec kill -SIGSTOP $slave_pid
# send some 10mb woth of commands that don't increase the memory usage
# send some 10mb wo
r
th of commands that don't increase the memory usage
if
{
$pipeline
== 1
}
{
if
{
$pipeline
== 1
}
{
set rd_master
[
redis_deferring_client -1
]
set rd_master
[
redis_deferring_client -1
]
for
{
set k 0
}
{
$k
< $cmd_count
}
{
incr k
}
{
for
{
set k 0
}
{
$k
< $cmd_count
}
{
incr k
}
{
...
@@ -218,19 +222,21 @@ proc test_slave_buffers {cmd_count payload_len limit_memory pipeline} {
...
@@ -218,19 +222,21 @@ proc test_slave_buffers {cmd_count payload_len limit_memory pipeline} {
set delta_no_repl
[
expr
{
$killed
_used_no_repl - $used_no_repl
}]
set delta_no_repl
[
expr
{
$killed
_used_no_repl - $used_no_repl
}]
assert
{
$killed
_slave_buf == 0
}
assert
{
$killed
_slave_buf == 0
}
assert
{
$delta
_no_repl > -50*1024 && $delta_no_repl < 50*1024
}
;
# 1 byte unaccounted for, with 1M commands will consume some 1MB
assert
{
$delta
_no_repl > -50*1024 && $delta_no_repl < 50*1024
}
;
# 1 byte unaccounted for, with 1M commands will consume some 1MB
}
# unfreeze slave process
(
after the 'test' succeeded or failed, but before we attempt to terminate the server
exec kill -SIGCONT $slave_pid
}
}
}
}
}
}
test
{
slave buffer are counted correctly
}
{
# test that slave buffer are counted correctly
# we wanna use many small commands, and we don't wanna wait long
# we wanna use many small commands, and we don't wanna wait long
# so we need to use a pipeline
(
redis_deferring_client
)
# so we need to use a pipeline
(
redis_deferring_client
)
# that may cause query buffer to fill and induce eviction, so we disable it
# that may cause query buffer to fill and induce eviction, so we disable it
test_slave_buffers 1000000 10 0 1
test_slave_buffers
{
slave buffer are counted correctly
}
1000000 10 0 1
}
test
{
slave buffer don't induce eviction
}
{
# test that slave buffer don't induce eviction
# test again with fewer
(
and bigger
)
commands without pipeline, but with eviction
# test again with fewer
(
and bigger
)
commands without pipeline, but with eviction
test_slave_buffers 100000 100 1 0
test_slave_buffers
"slave buffer don't induce eviction"
100000 100 1 0
}
tests/unit/memefficiency.tcl
View file @
5b4bec9d
...
@@ -201,7 +201,7 @@ start_server {tags {"defrag"}} {
...
@@ -201,7 +201,7 @@ start_server {tags {"defrag"}} {
assert
{
$frag
< 1.1
}
assert
{
$frag
< 1.1
}
# due to high fragmentation, 10hz, and active-defrag-cycle-max set to 75,
# due to high fragmentation, 10hz, and active-defrag-cycle-max set to 75,
# we expect max latency to be not much higher than 75ms
# we expect max latency to be not much higher than 75ms
assert
{
$max
_latency <=
8
0
}
assert
{
$max
_latency <=
12
0
}
}
}
# verify the data isn't corrupted or changed
# verify the data isn't corrupted or changed
set newdigest
[
r debug digest
]
set newdigest
[
r debug digest
]
...
...
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