mirror of
https://github.com/fluencelabs/redis
synced 2025-04-01 15:21:03 +00:00
Make active defragmentation tests optional.
They failed when active defrag could not be activated because the Jemalloc version does not include the additional APIs.
This commit is contained in:
parent
fef42d0985
commit
98d5d3f118
@ -1031,9 +1031,10 @@ void configSetCommand(client *c) {
|
|||||||
if (server.active_defrag_enabled) {
|
if (server.active_defrag_enabled) {
|
||||||
server.active_defrag_enabled = 0;
|
server.active_defrag_enabled = 0;
|
||||||
addReplyError(c,
|
addReplyError(c,
|
||||||
"Active defragmentation cannot be enabled: it requires a "
|
"-DISABLED Active defragmentation cannot be enabled: it "
|
||||||
"Redis server compiled with a modified Jemalloc like the "
|
"requires a Redis server compiled with a modified Jemalloc "
|
||||||
"one shipped by default with the Redis source distribution");
|
"like the one shipped by default with the Redis source "
|
||||||
|
"distribution");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -55,16 +55,17 @@ start_server {tags {"defrag"}} {
|
|||||||
puts "frag $frag"
|
puts "frag $frag"
|
||||||
}
|
}
|
||||||
assert {$frag >= 1.4}
|
assert {$frag >= 1.4}
|
||||||
r config set activedefrag yes
|
catch {r config set activedefrag yes} e
|
||||||
|
if {![string match {DISABLED*} $e]} {
|
||||||
# wait for the active defrag to start working (decision once a second)
|
# Wait for the active defrag to start working (decision once a
|
||||||
|
# second).
|
||||||
wait_for_condition 50 100 {
|
wait_for_condition 50 100 {
|
||||||
[s active_defrag_running] ne 0
|
[s active_defrag_running] ne 0
|
||||||
} else {
|
} else {
|
||||||
fail "defrag not started."
|
fail "defrag not started."
|
||||||
}
|
}
|
||||||
|
|
||||||
# wait for the active defrag to stop working
|
# Wait for the active defrag to stop working.
|
||||||
wait_for_condition 100 100 {
|
wait_for_condition 100 100 {
|
||||||
[s active_defrag_running] eq 0
|
[s active_defrag_running] eq 0
|
||||||
} else {
|
} else {
|
||||||
@ -73,13 +74,16 @@ start_server {tags {"defrag"}} {
|
|||||||
fail "defrag didn't stop."
|
fail "defrag didn't stop."
|
||||||
}
|
}
|
||||||
|
|
||||||
# test the the fragmentation is lower
|
# Test the the fragmentation is lower.
|
||||||
after 120 ;# serverCron only updates the info once in 100ms
|
after 120 ;# serverCron only updates the info once in 100ms
|
||||||
set frag [s allocator_frag_ratio]
|
set frag [s allocator_frag_ratio]
|
||||||
if {$::verbose} {
|
if {$::verbose} {
|
||||||
puts "frag $frag"
|
puts "frag $frag"
|
||||||
}
|
}
|
||||||
assert {$frag < 1.1}
|
assert {$frag < 1.1}
|
||||||
|
} else {
|
||||||
|
set _ ""
|
||||||
|
}
|
||||||
} {}
|
} {}
|
||||||
|
|
||||||
test "Active defrag big keys" {
|
test "Active defrag big keys" {
|
||||||
@ -150,8 +154,9 @@ start_server {tags {"defrag"}} {
|
|||||||
assert {$frag >= $expected_frag}
|
assert {$frag >= $expected_frag}
|
||||||
r config set latency-monitor-threshold 5
|
r config set latency-monitor-threshold 5
|
||||||
r latency reset
|
r latency reset
|
||||||
r config set activedefrag yes
|
|
||||||
|
|
||||||
|
catch {r config set activedefrag yes} e
|
||||||
|
if {![string match {DISABLED*} $e]} {
|
||||||
# wait for the active defrag to start working (decision once a second)
|
# wait for the active defrag to start working (decision once a second)
|
||||||
wait_for_condition 50 100 {
|
wait_for_condition 50 100 {
|
||||||
[s active_defrag_running] ne 0
|
[s active_defrag_running] ne 0
|
||||||
@ -188,6 +193,9 @@ start_server {tags {"defrag"}} {
|
|||||||
# 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 <= 80}
|
assert {$max_latency <= 80}
|
||||||
|
} else {
|
||||||
|
set _ ""
|
||||||
|
}
|
||||||
} {}
|
} {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user