problems when doing multiple operations in packs repository.

John Arbash Meinel john at arbash-meinel.com
Sat Dec 1 14:41:51 GMT 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Mattias Eriksson wrote:
> I have a checkout from svn using packs that I was trying to use
> (test_packs/trunk) when I in the same repository at the same time was
> checking out another branch of the project.
> (test_packs/branches/newbranch):
> I then noticed that log stopped to work in test_packs/trunk for no
> reason at all, I then did a bzr check and got the following result.
> 
> $ bzr check
> bzr: ERROR: No such file:
> u'/home/snaggen/Src/bzr/test_packs/.bzr/repository/indices/49c3d4e077a5b5873dd53de2c685f370.rix': [Errno 2] No such file or directory: u'/home/snaggen/Src/bzr/test_packs/.bzr/repository/indices/49c3d4e077a5b5873dd53de2c685f370.rix'
> 
> Running it again a few seconds later I get:
> $ bzr check
> bzr: ERROR: No such file:
> u'/home/snaggen/Src/bzr/test_packs/.bzr/repository/indices/60a788e4f5d2441a7d87c5a1e8ee49d3.rix': [Errno 2] No such file or directory: u'/home/snaggen/Src/bzr/test_packs/.bzr/repository/indices/60a788e4f5d2441a7d87c5a1e8ee49d3.rix'
> 
> Since this is another file it is complaining about I guess this is due
> to the checkout I'm doing that is fiddling around with the repository. 
> And when the checkout was done things went back to a working state
> again.
> 
> //Mattias

This is a known "bug":
https://bugs.launchpad.net/bzr/+bug/153786

Basically, when data is added to a pack repository, it will recombine packs to
make more efficient ones. (It doesn't spend a lot of time/logic to do so, it is
mostly just making sure you don't end up with 10,000 small files.)

When a file first goes missing, it is actually just renamed into the
'obsolete_packs/' directory. If you are doing lots of very fast operations,
then the next auto-pack will clear out that directory. No data is ever lost,
just moved a bit.

So our code needs to have a layer that can say "I'm looking for nnnn data in
xxyyzz.pack, check in packs/*, if that misses, check in obsolete_packs/*, if
that misses, reload the names list, check which files are new, and look for the
data there."

John
=:->

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHUXKvJdeBCYSNAAMRArOFAKCoI18LFJVCoRSVqk4OF/9hkvqeGwCfQTvQ
wMuFb18t/qY1M1Af94tSxEo=
=LDv2
-----END PGP SIGNATURE-----



More information about the bazaar mailing list