From 3a955d9ad443adcb1d0495f4b702612f6b250f6e Mon Sep 17 00:00:00 2001 From: sundb Date: Mon, 19 Apr 2021 15:08:07 +0800 Subject: [PATCH] Fix ouput buffer limit test (#8803) The tail size of c->reply is 16kb, but in the test only publish a few chars each time, due to a change in #8699, the obuf limit is now checked a new memory allocation is made, so this test would have sometimes failed to trigger a soft limit disconnection in time. The solution is to write bigger payloads to the output buffer, but still limit their rate (not more than 100k/s). --- tests/unit/obuf-limits.tcl | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/tests/unit/obuf-limits.tcl b/tests/unit/obuf-limits.tcl index 456d3ac82..38a643385 100644 --- a/tests/unit/obuf-limits.tcl +++ b/tests/unit/obuf-limits.tcl @@ -31,7 +31,11 @@ start_server {tags {"obuf-limits"}} { set start_time 0 set time_elapsed 0 while 1 { - r publish foo bar + if {$start_time != 0} { + # Slow down loop when omen has reached the limit. + after 10 + } + r publish foo [string repeat "x" 1000] set clients [split [r client list] "\r\n"] set c [split [lindex $clients 1] " "] if {![regexp {omem=([0-9]+)} $c - omem]} break @@ -57,7 +61,11 @@ start_server {tags {"obuf-limits"}} { set start_time 0 set time_elapsed 0 while 1 { - r publish foo bar + if {$start_time != 0} { + # Slow down loop when omen has reached the limit. + after 10 + } + r publish foo [string repeat "x" 1000] set clients [split [r client list] "\r\n"] set c [split [lindex $clients 1] " "] if {![regexp {omem=([0-9]+)} $c - omem]} break