Justin Erenkrantz wrote:
> --On Thursday, December 9, 2004 10:58 PM +0100 "Branko ?ibej" 
> <brane@xbc.nu> wrote:
>
>> This is all irrelevant because we can't rely on Apache here. It's quite
>> reasonable to use all three RA methods to access the same repository, so
>> any such serialisation mechanism must go into libsvn_fs_base.
>
>
> No, it's not.  We should add an RA method that indicates that the 
> process is being initialized and advise SVN to perform recovery.
You'd put FS back-end implementation details in an RA method? Yikes.
>   libsvn_fs_base can then decide through other means what to do with 
> it (i.e. via a new named shared memory segment that does 
> refcounting).  For example, if another process has the repository 
> open, then it can skip the check. However, for mod_dav_svn, the time 
> to invoke the check would be at the post_config hook.  This also 
> allows immediate feedback whether the repository is in a 'good' state 
> before the rest of httpd is initialized. If it fails the check, then 
> httpd will never come up: which, IMHO, is a good thing.  -- justin
This would also imply that mod_dav_svn opens every repository it's 
configured for in the post-config hook, and keeps it open for the 
lifetime of the httpd process. AFAIK these days mod_dav_svn opens the FS 
for every request, more or less; and you have to do the check at every 
fs_open, not in some RA method.
-- Brane
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Dec 10 04:19:39 2004