diff --git a/tests/unit/maxmemory.tcl b/tests/unit/maxmemory.tcl index 0f64ddc18..3dd706173 100644 --- a/tests/unit/maxmemory.tcl +++ b/tests/unit/maxmemory.tcl @@ -144,7 +144,11 @@ start_server {tags {"maxmemory"}} { } proc test_slave_buffers {test_name cmd_count payload_len limit_memory pipeline} { - start_server {tags {"maxmemory"}} { + # This is a single thread only test because there is a race in getMaxMemoryState + # between zmalloc_used_memory and getting the client outbut buffer memory usage. + # The cure would be worse than the disease, we do not want lock every replica + # simultaneously just to get more accurate memory usage. + start_server {tags {"maxmemory"} overrides { server-threads 1 }} { start_server {} { set slave_pid [s process_id] test "$test_name" { diff --git a/tests/unit/memefficiency.tcl b/tests/unit/memefficiency.tcl index 390bad192..0654898ee 100644 --- a/tests/unit/memefficiency.tcl +++ b/tests/unit/memefficiency.tcl @@ -37,7 +37,7 @@ start_server {tags {"memefficiency"}} { } run_solo {defrag} { -start_server {tags {"defrag"}} { +start_server {tags {"defrag"} overrides {server-threads 1} } { if {[string match {*jemalloc*} [s mem_allocator]]} { test "Active defrag" { r config set save "" ;# prevent bgsave from interfereing with save below @@ -351,7 +351,7 @@ start_server {tags {"defrag"}} { # if the current slab is lower in utilization the defragger would have ended up in stagnation, # keept running and not move any allocation. # this test is more consistent on a fresh server with no history - start_server {tags {"defrag"}} { + start_server {tags {"defrag"} overrides {server-threads 1}} { r flushdb r config resetstat r config set save "" ;# prevent bgsave from interfereing with save below