[cvsnt] Corrupt history file
Chuck.Kirschman at Nosp_am.bentley.com
Mon Nov 20 16:15:13 GMT 2006
The server is on Win2003 Server, no AV on the box. The box is a
dedicated CVS server and doesn't do anything else. No one uses anything
but SSPI to access the repositories; they are not shared out, and very
few people can log into the box, and most of them are system admins that
don't use the repositories. Corruption seems to occur every few days.
It seems to be much more prevalent in our most active repository. Bad
lines look like this (copied from the history file):
I'll supply the entire file if you like; it's 240 MB. Or I can revise
my script to supply a few lines on either side if that's what you need.
Going to the database approach seemed unwise after reading on the news
group all of Bo's problems with it. From what he has described in
previous posts, it did not seem ready for production environments. Bo
seems to be pretty up on CVS, and if he has problems I get worried quickly.
Also, from what I read, it also seemed like it was expecting the
database to be on the same server as the repositories. Assuming a
single database server for several CVS servers, what happens if the
connection to the database server is broken? Does it log locally?
I'm not adverse to going with a database, but with 100 repositories on 8
servers and 100 GB of source with very active histories, it's a
substantial change. It will likely require me to get a dedicated
database server and support it as well as create scheduled jobs to clean
it out, etc. Is anyone else running it in a large production environment?
>>Since we converted from Unix to cvsNT, we've been getting a lot of
> CVSNT on unix and if so what one or on some other system?
>>corruption in the history file.
> Haven't heard of it before today. But most CVSNT users use the Audit
> database - the history file is quite useless on all versions of CVS since if
> there is any problem writing to it that step is just skipped.
> The only case where I could think this corruption could happen is if someone
> is accessing the repository using :local: and/or the history file (and
> consequently the repository) is on a network drive or scanned by anti-virus.
>>Here's some examples from a script I wrote to dig out the bad lines:
> Please supply the actual history file (or actual excerpts of the bad lines
> and the context). If possible a trace of the client and server when a bad
> record gets written.
More information about the cvsnt