[cvsnt] Re: Checkout tag extremely slow

jml at nykredit.dk jml at nykredit.dk
Thu Dec 9 23:34:02 GMT 2004


I've made some experiments based on your guess, and I can confirm that the 
problem has to do with the val-tags file, but moreso with the scanning of 
the repository. 

This is what I did:

"CVS co -r sometag mymodule"

If "sometag" does not exist, CVS 2.0.51d will scan the entire repository, 
while CVS 2.0.4 will scan only the actual module (mymodule) - which I 
think is reasonable.
If "sometag" does exist, but are for some reason NOT in the val-tags file 
the same thing happens.
If "sometag" does exist and IS in the val-tags file all is well of course.

The entire-repository-scans is extremely time and CPU consuming, if you 
have a large repository (and we do!), and the scan will happen everytime 
your miss-spell a tag-name. Even with a small repository of - say - less 
than 10,000 files, the scan will take minutes.

The problem is present in 2.0.58d also, and it has caused us to make a 
fall-back to CVS version 2.0.4.

I suggest your treat this as a bug - I think CVS should scan only the 
indicated module, and not the entire repository, since - logically - there 
is no chance of a match in any other module than the one you indicate in 
the checkout command.

Sincerely 
Joergen Moeller Larsen


jml at nykredit.dk wrote:
> Hi,
>
> I recently upgraded our CVS server from version 2.0.4 to version 
2.0.51d.
>
> After the upgrade it has become _extremely_ slow to checkout tags from
> CVS.  I am talking hours in worst case. Checking out HEAD does not 
suffer
> from this problem. I have tried version 2.0.58d as well with same 
result.
> Reverting to version 2.0.4 restores normal performance.
>
> Any suggestions?

My best guess would be that the server can't read the val-tags file for
some reason.  If it can't read that it has to scan the whole repository
to find out if the tag is valid (I'm convinced this could be made faster
but the logic makes this nontrivial at the moment).

Tony
_______________________________________________
cvsnt mailing list
cvsnt at cvsnt.org
http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt


More information about the cvsnt mailing list