mirror of
https://github.com/isar/libmdbx.git
synced 2025-01-08 04:54:13 +08:00
mdbx: fix mdbx_update_gc()
for retired page list change case.
Change-Id: Ic454262edcda8881182a15d6a521b90990e5551d
This commit is contained in:
parent
b8bb4b4cc4
commit
c1fef9b51d
@ -7615,7 +7615,7 @@ retry_noaccount:
|
|||||||
txn->mt_txnid, txn->mt_dbs[FREE_DBI].md_root, i);
|
txn->mt_txnid, txn->mt_dbs[FREE_DBI].md_root, i);
|
||||||
for (; i; i--)
|
for (; i; i--)
|
||||||
mdbx_debug_extra_print(" %" PRIaPGNO, txn->tw.retired_pages[i]);
|
mdbx_debug_extra_print(" %" PRIaPGNO, txn->tw.retired_pages[i]);
|
||||||
mdbx_debug_extra_print("%s", "\n");
|
mdbx_debug_extra_print("%s\n", ".");
|
||||||
}
|
}
|
||||||
if (unlikely(amount != MDBX_PNL_SIZE(txn->tw.reclaimed_pglist))) {
|
if (unlikely(amount != MDBX_PNL_SIZE(txn->tw.reclaimed_pglist))) {
|
||||||
mdbx_trace("%s.reclaimed-list changed %u -> %u, retry", dbg_prefix_mode,
|
mdbx_trace("%s.reclaimed-list changed %u -> %u, retry", dbg_prefix_mode,
|
||||||
@ -7988,6 +7988,13 @@ retry_noaccount:
|
|||||||
mdbx_notice("%s", "** restart: reclaimed-slots changed");
|
mdbx_notice("%s", "** restart: reclaimed-slots changed");
|
||||||
goto retry;
|
goto retry;
|
||||||
}
|
}
|
||||||
|
if (unlikely(retired_stored != MDBX_PNL_SIZE(txn->tw.retired_pages))) {
|
||||||
|
mdbx_tassert(txn,
|
||||||
|
retired_stored < MDBX_PNL_SIZE(txn->tw.retired_pages));
|
||||||
|
mdbx_notice("** restart: retired-list growth (%u -> %u)",
|
||||||
|
retired_stored, MDBX_PNL_SIZE(txn->tw.retired_pages));
|
||||||
|
goto retry;
|
||||||
|
}
|
||||||
|
|
||||||
pgno_t *dst = data.iov_base;
|
pgno_t *dst = data.iov_base;
|
||||||
*dst++ = chunk;
|
*dst++ = chunk;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user