Malcolm Rowe wrote:
> Note that one fairly easy way to alleviate some of the potential for
> corruption would be to keep the proto-rev file/stream open for the
> duration of the transaction. (And that might not be a bad idea anyway:
> it should simplify some of the code slightly, and probably would be a
> tiny bit faster as well. It shouldn't cause any scalability problems,
> I wouldn't have thought).
>
> We still need to guarantee that the file is closed before we move it
> into place, of course, by that's easy once we're only using a single
> apr_file_t.
>
Incidentally, this seems like could be a help to reliability on win32 too,
where various ill-conceived indexers/virus scanners/backup progams/etc
watch recently-changed files and open them to read through the new
contents. This used to bite svn regularly - it would close the proto-rev
file, go off to do other finalization, then fail when it tried to move the
file into place because one of these other processes would have it open.
This seems to be mostly fixed nowadays (by having a retry loop in apr
AIUI), but it seems like closing the file at the last second before moving
it would narrow the race, which seems like another good benefit.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Dec 9 04:18:41 2005