[Box Backup-dev] "setlimit 0 (...) back with vengeance (Was: Proposal (patch): bbstored HousekeepingStyle mod)

G. boxbackup-dev@fluffy.co.uk
Tue, 23 Jan 2007 15:32:09 -0800 (PST)


Chris,=0A=0A> Perhaps it's the volume of data backed up versus the hard lim=
it? Seem my =0A> email to Martin, the client will stop backing up when it r=
eaches soft =0A> limit + 1/3 of hard limit at the time of connection.=0A=0A=
Thanks for pointing this out, Chris, I should have just looked the code ove=
r, but the possibility of such a check has not  occurred to me...=0A=0A> I =
think we should remove this check in bbackupd. I can't see the point of =0A=
> it, since we could easily start off below the threshold, and then have =
=0A=0AI think the problem is that the number of up-to-date blocks already o=
n the server, plus the number of new blocks to be uploaded from a client, m=
ight actually be greater than the number of free blocks available on a serv=
er, due to auxiliary blocks representing old file versions and deleted file=
s.=0A=0AThis situation will happen when housekeeping has not run for a whil=
e for whatever reason, or a soft-limit has been set too high in the first p=
lace (and housekeeping cannot ever help, since it does not clean up enough =
blocks for future deltas).=0A=0AThere is currently no way for a client to k=
now how many (new) blocks it is going to upload at the beginning of a cycle=
 (in order to do an exact check), nor can housekeeping figure out that a so=
ft-limit is too high for future deltas, so I am guessing that this check tr=
ies to approximate such a situation. My vote would be to let a server hit a=
 hard-limit (unless it means some kind of store corruption or bbstored pani=
c) and do away with the approximation. A soft-limit should have no bearing =
on new block upload capability.=0A=0AIn a perfect world, either:=0A=0Aa.) a=
 client should calculate the number of new blocks to be uploaded, and execu=
te - beforehand - some kind of a synchronous request for a server to housek=
eep an equal number of blocks immediately to make room for the new stuff th=
at's coming, or:=0A=0Ab.) (better yet) a client should happily ignore the w=
hole situation, while a server keeps housekeeping dynamically as the client=
 pushes up more and more new blocks.=0A=0AOn a second reading... Wait... Di=
d I get this whole picture right...?? :)=0A=0AGary=0A=0A=0A=0A=0A=0A =0A___=
___________________________________________________________________________=
______=0ANow that's room service!  Choose from over 150,000 hotels=0Ain 45,=
000 destinations on Yahoo! Travel to find your fit.=0Ahttp://farechase.yaho=
o.com/promo-generic-14795097