On 5/22/06, Peter N. Lundblad <peter@famlundblad.se> wrote:
> Malcolm Rowe writes:
> > On Mon, May 22, 2006 at 08:24:08AM -0500, Ben Collins-Sussman wrote:
> > > over DAV opens up the possibility that multiple httpd processes might
> > > be attempting to write to the same fs transaction at the same time.
> > >
> >
> > >From what I can remember, it certainly looked to me like the FSFS code
> > requires that a transaction is only updated by a single thread.
> >
> > For example, when we receive a text-delta for a file, we just stream the
> > resulting delta to the end of the proto-rev-file (of which there is only
> > one per transaction), and that certainly won't work if two callers call
> > svn_fs_apply_textdelta() simultaneously on the same transaction root.
> >
> Yeah, and the same is true for the changes file, for example. I don't
> think concurrency is supported at all for a single transaction in
> FSFS.
Making things work concurrently might be complex, but at the very
least it seems like we should think about adding some locking... If
you're going to append to the prototype rev file you lock it (both
file based and a mutex if you're a multithreaded process, just like we
do for the repos lock), same for the changes file, etc.
-garrett
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon May 22 20:26:25 2006