[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Subversion's use of Berkeley DB [#11511]

From: Branko Čibej <brane_at_xbc.nu>
Date: 2004-12-10 02:51:22 CET

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

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.