]> git.ipfire.org Git - thirdparty/samba.git/commit
ldb tests: Confirm lmdb free list handling
authorGary Lockyer <gary@catalyst.net.nz>
Mon, 16 Mar 2020 02:18:12 +0000 (15:18 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Sun, 22 Mar 2020 04:39:36 +0000 (04:39 +0000)
commitfc13304d1575ad6bc6e04cdb3eedf46d3c3678c7
tree08527bc36fe671bcda0bd3aba9fb8df4475c1ec4
parent9496e0523ea156b5705b1d3866f0d887a6fc4d2d
ldb tests: Confirm lmdb free list handling

Add cmocka tests to confirm lmdb's handling of the free list.

As a result of lmdb's MVCC (Multiversion Concurrency Control) long
running read transactions or stale readers (read transactions where the
process exited without ending the transaction) can cause the database to
run out of space.

Items in the free list are only reused when they would not be visible in
a read transaction.  So long running read transactions prevent entries
in the free list being reused, and the database can run out of space.

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
lib/ldb/tests/ldb_lmdb_free_list_test.c [new file with mode: 0644]
lib/ldb/wscript