Skip to content
Snippets Groups Projects
Verified Commit b983c77d authored by Vladimír Čunát's avatar Vladimír Čunát Committed by Petr Špaček
Browse files

tests: fine tune integration test for GC

TL;DR: tune the test - now it works quite reliably for me,
though it's perhaps not nice.

With 1 MiB cache it's not easy to avoid overflows, as the defaults are
meant for much larger sizes.  Normal GC target is to decrease usage
by 10% when above 80% in 100 records per transaction.  That just won't
work reliable due to 10% being only 25 pages.

This commit makes the test run GC with more suitable tuning and
frequently pauses kresd to give GC better chance to catch up.
parent f5cbc5a0
Branches
Tags
1 merge request!1042cache-forking fixes
......@@ -99,6 +99,7 @@ local function add_random_rrset()
assert(kr_cach:insert(kr_rrset, nil, ffi.C.KR_RANK_SECURE))
end
ffi.cdef('int usleep(uint32_t usec);') -- at least in current glibc it's always 32-bit
local rr_count = 0
local function gen_batch()
......@@ -110,6 +111,7 @@ local function gen_batch()
end
end
kr_cach:commit()
ffi.C.usleep(15) -- stop *whole process* to give better chance to GC executing
local delay
if math.random(1,4) == 1 then
delay = 1 -- give a chance to DNS resolving
......
......@@ -25,8 +25,11 @@ programs:
- name: gc
binary: kres-cache-gc
additional:
- -d
- "1"
# small cache needs shorter RW transactions and larger "percentages"
- -l8
- -u50
- -f20
- -d1
- -c
- ../kresd1/
conncheck: False
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment