mdbx-chk: allow gap for GC's PNL upto one page.

Change-Id: Ie051442947e7588b868cec35ef9374368bf8a1c4
This commit is contained in:
Leonid Yuriev
2018-09-19 17:06:56 +03:00
parent 82c975e174
commit f7bd98a4ce
2 changed files with 7 additions and 6 deletions

View File

@@ -4349,11 +4349,12 @@ retry:
if (unlikely(chunk > left)) {
mdbx_trace("%s: chunk %u > left %u, @%" PRIaTXN, dbg_prefix_mode, chunk,
left, fill_gc_id);
chunk = left;
if (loop < 3) {
mc.mc_flags ^= C_GCFREEZE;
if (loop < 5 || chunk - left > env->me_maxgc_ov1page) {
data.iov_len = (left + 1) * sizeof(pgno_t);
if (loop < 21)
mc.mc_flags -= C_GCFREEZE;
}
chunk = left;
}
rc = mdbx_cursor_put(&mc, &key, &data, MDBX_CURRENT | MDBX_RESERVE);
mc.mc_flags &= ~(C_RECLAIMING | C_GCFREEZE);