Justin Erenkrantz wrote:
> --On Thursday, December 9, 2004 11:37 PM +0100 "Branko ?ibej"
> <brane@xbc.nu> wrote:
>
>> Justin Erenkrantz wrote:
>>
>>> mod_dav_svn already caches the fs/repos.
>>
>>
>> Yes, but not for the lifetime of the httpd process, iirc.
>
>
> As svn_repos_t can't be shared across threads or processes, each
> process/thread must have its own private copy.
>
> However, once httpd is initialized, we should assume that we are
> already in a 'safe' state: because we optionally ran recover at httpd
> initialization, if we could.
ra_dav isn't the only access method. We can not rely on Apache module
initialisation methods. It's as simple as that.
> Right - however, having 50 httpds constantly checking if it is the
> only process is impractical on every fs_open. This is why I think the
> recovery check can't be coupled with fs_open: it needs to be split out
> and the libsvn_fs_base using code (or libsvn_repos-using code) needs
> to say, "Hey, I'm starting. If you can, run recovery now. If not,
> move on."
>
> For mod_dav_svn, the optimal (and correct!) number of times to check
> is exactly once. Any more and we're going to get nailed. -- justin
I can't agree. httpd processes die, often on purpose. A new worker
process can't rely on nothing having happened since the last worker was
initialised.
-- 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 02:59:31 2004