summaryrefslogtreecommitdiff
path: root/source4/lib/tdb_wrap.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2008-12-16 18:45:28 +1100
committerAndrew Tridgell <tridge@samba.org>2008-12-17 07:15:29 +1100
commite294c4799bf6ad8da043aadf8341391644147056 (patch)
treebb11a627b978aca5cd75db4505ce536b7cb82111 /source4/lib/tdb_wrap.c
parent4380a374c1dec46ad77939604e548f0c79d9e2ec (diff)
downloadsamba-e294c4799bf6ad8da043aadf8341391644147056.tar.gz
samba-e294c4799bf6ad8da043aadf8341391644147056.tar.bz2
samba-e294c4799bf6ad8da043aadf8341391644147056.zip
an experimental patch for fixing ldb bloat
ldb indexing can cause huge files, and huge memory usage. This experiment allows us to keep indexes in memory during a transaction, then to write the indexes to disk when the transaction completes. The result is that the db is much smaller (we have seen improvements of about 100x in file size) and memory usage during large transactions is also greatly reduced Note that this patch uses the unusual strategy of putting pointers into a ldb (and thus into a tdb). This works because the pointers are only there during a transaction, so the pointers are not exposed to any other users of the database. The pointers allow us to avoid some really bad allocation problems with tdb record allocation during the re-indexing.
Diffstat (limited to 'source4/lib/tdb_wrap.c')
0 files changed, 0 insertions, 0 deletions