Defrag: test currently disabled, too many false positives.

Related to #3786.
This commit is contained in:
antirez 2017-04-22 15:59:53 +02:00
parent a17390853d
commit c861e1e1ee

View File

@ -36,48 +36,50 @@ start_server {tags {"memefficiency"}} {
}
}
start_server {tags {"defrag"}} {
if {[string match {*jemalloc*} [s mem_allocator]]} {
test "Active defrag" {
r config set activedefrag no
r config set active-defrag-threshold-lower 5
r config set active-defrag-ignore-bytes 2mb
r config set maxmemory 100mb
r config set maxmemory-policy allkeys-lru
r debug populate 700000 asdf 150
r debug populate 170000 asdf 300
set frag [s mem_fragmentation_ratio]
assert {$frag >= 1.7}
r config set activedefrag yes
after 1500 ;# active defrag tests the status once a second.
set hits [s active_defrag_hits]
# wait for the active defrag to stop working
set tries 0
while { True } {
incr tries
after 500
set prev_hits $hits
if 0 {
start_server {tags {"defrag"}} {
if {[string match {*jemalloc*} [s mem_allocator]]} {
test "Active defrag" {
r config set activedefrag no
r config set active-defrag-threshold-lower 5
r config set active-defrag-ignore-bytes 2mb
r config set maxmemory 100mb
r config set maxmemory-policy allkeys-lru
r debug populate 700000 asdf 150
r debug populate 170000 asdf 300
set frag [s mem_fragmentation_ratio]
assert {$frag >= 1.7}
r config set activedefrag yes
after 1500 ;# active defrag tests the status once a second.
set hits [s active_defrag_hits]
if {$hits == $prev_hits} {
break
# wait for the active defrag to stop working
set tries 0
while { True } {
incr tries
after 500
set prev_hits $hits
set hits [s active_defrag_hits]
if {$hits == $prev_hits} {
break
}
assert {$tries < 100}
}
assert {$tries < 100}
# TODO: we need to expose more accurate fragmentation info
# i.e. the allocator used and active pages
# instead we currently look at RSS so we need to ask for purge
r memory purge
# Test the the fragmentation is lower and that the defragger
# stopped working
set frag [s mem_fragmentation_ratio]
assert {$frag < 1.55}
set misses [s active_defrag_misses]
after 500
set misses2 [s active_defrag_misses]
assert {$misses2 == $misses}
}
# TODO: we need to expose more accurate fragmentation info
# i.e. the allocator used and active pages
# instead we currently look at RSS so we need to ask for purge
r memory purge
# Test the the fragmentation is lower and that the defragger
# stopped working
set frag [s mem_fragmentation_ratio]
assert {$frag < 1.55}
set misses [s active_defrag_misses]
after 500
set misses2 [s active_defrag_misses]
assert {$misses2 == $misses}
}
}
}