]> git.michaelhowe.org Git - packages/b/bup.git/commit
client-server: only retrieve index files when actually needed.
authorAvery Pennarun <apenwarr@gmail.com>
Mon, 11 Jan 2010 23:19:29 +0000 (18:19 -0500)
committerAvery Pennarun <apenwarr@gmail.com>
Tue, 12 Jan 2010 03:30:51 +0000 (22:30 -0500)
commitd9bf99c27430c9498569e63a020d6bed8d02765c
tree3f968afc6f285b944d0899f6eaae53febaa21a7c
parentcfd369dc74924202dd79beb15a8ee619c9ed970e
client-server: only retrieve index files when actually needed.

A busy server could end up with a *large* number of index files, mostly
referring to objects from other clients.  Downloading all the indexes not only
wastes bandwidth, but causes a more insidious problem: small servers end up
having to mmap a huge number of large index files, which sucks lots of RAM.

In general, the RAM on a server is roughly proportional to the disk space on
that server.  So it's okay for larger clients to need more RAM in order
to complete a backup.  However, it's not okay for the existence of larger
clients to make smaller clients suffer.  Hopefully this change will settle
it a bit.
client.py
cmd-index.py
cmd-server.py
git.py
helpers.py
t/test.sh
t/tgit.py