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).
This commit is contained in:
sundb 2021-04-19 15:08:07 +08:00 committed by GitHub
parent 0413fbc7d0
commit 3a955d9ad4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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