Dmitri,

The latest version in CVS does export a compact function that works on BDB stores, but it only truncates the end of the %ELEPHANT file and isn't very reliable because if you haven't dropped the last object added then it can't truncate at all.

If you do drop objects, BDB should reuse the pages that were allocated to those objects so it should grow more slowly, but it doesn't reorganize to optimize space so fragmentation can lead to an inefficient use of space.

However, the best way to reclaim disk space today is to migrate from your current BDB store to a new one. This will copy over only those objects that are globally reachable; namely anything reachable from the controller-root and all indexed instances.

At some point I'll finish a wrapper function for this (currently a sketch is in src/elephant/gc.lisp and called via elephant::stop-and- copy-gc) but you are better off doing the copy manually for now.

If the documentation doesn't make this process clear, please write back to us.

Good luck,
Ian


On Jul 10, 2007, at 7:19 PM, Dmitri V. Gorbatovsky wrote:

Hello, from grateful user.
I find that size of %ELEPHANT file (BDB) only grows with
time and transactions. No matter how many objects I delete.
Is there are any conventional way to shrink it?
Sorry if the question is stupid, Iam not really advanced
in Berkeley db usage.

Thanks, DG
_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

Reply via email to