fix github actions failing latency test for active defrag - part 2

it seems that running two clients at a time is ok too, resuces action
time from 20 minutes to 10. we'll use this for now, and if one day it
won't be enough we'll have to run just the sensitive tests one by one
separately from the others.

this commit also fixes an issue with the defrag test that appears to be
very rare.
This commit is contained in:
Oran Agra 2020-02-26 08:12:07 +02:00
parent c913be0464
commit 2f1a1c3835
2 changed files with 5 additions and 4 deletions
.github/workflows
tests/unit

@ -12,9 +12,9 @@ jobs:
- name: test - name: test
run: | run: |
sudo apt-get install tcl8.5 sudo apt-get install tcl8.5
./runtest --clients 1 --verbose ./runtest --clients 2 --verbose
test-ubuntu-old: build-ubuntu-old:
runs-on: ubuntu-16.04 runs-on: ubuntu-16.04
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1

@ -60,6 +60,7 @@ start_server {tags {"defrag"}} {
r config set latency-monitor-threshold 5 r config set latency-monitor-threshold 5
r latency reset r latency reset
r config set maxmemory 110mb ;# prevent further eviction (not to fail the digest test)
set digest [r debug digest] set digest [r debug digest]
catch {r config set activedefrag yes} e catch {r config set activedefrag yes} e
if {![string match {DISABLED*} $e]} { if {![string match {DISABLED*} $e]} {
@ -166,7 +167,7 @@ start_server {tags {"defrag"}} {
for {set j 0} {$j < 500000} {incr j} { for {set j 0} {$j < 500000} {incr j} {
$rd read ; # Discard replies $rd read ; # Discard replies
} }
assert {[r dbsize] == 500010} assert_equal [r dbsize] 500010
# create some fragmentation # create some fragmentation
for {set j 0} {$j < 500000} {incr j 2} { for {set j 0} {$j < 500000} {incr j 2} {
@ -175,7 +176,7 @@ start_server {tags {"defrag"}} {
for {set j 0} {$j < 500000} {incr j 2} { for {set j 0} {$j < 500000} {incr j 2} {
$rd read ; # Discard replies $rd read ; # Discard replies
} }
assert {[r dbsize] == 250010} assert_equal [r dbsize] 250010
# start defrag # start defrag
after 120 ;# serverCron only updates the info once in 100ms after 120 ;# serverCron only updates the info once in 100ms