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

Re: Race in svn_atomic_namespace__create

From: Stefan Fuhrmann <stefan.fuhrmann_at_wandisco.com>
Date: Tue, 30 Oct 2012 00:00:01 +0100

On Mon, Oct 29, 2012 at 10:46 PM, Philip Martin
<philip.martin_at_wandisco.com>wrote:

> Philip Martin <philip.martin_at_wandisco.com> writes:
>
> > Philip Martin <philip.martin_at_wandisco.com> writes:
> >
> >> I can't see any order in which we can do attach/create that doesn't have
> >> a similar race. I think the best solution is a short loop trying
> >> attach-create a few times before giving up.
> >
> > I've committed a loop in r1403463. That doesn't fix the race but it is
> > now very unlikely to fail.
>

The creation code is protected by a repo-global lock/unlock pair.
So, in theory, there should be no race condition.

> I've just observed the same failure with the looping code. I'm not sure
> what is wrong. I suppose there is a window during the creation process
> where the file exists, so the create fails, but the memory is not yet
> ready, so the attach also fails. If one process is in this state
> another process might loop around 10 times and have both create and
> attach fail. Perhaps a short and/or random delay would help?
>

It's on my TODO list to identify the root cause of this issue.

-- Stefan^2.

-- 
Certified & Supported Apache Subversion Downloads:
*
http://www.wandisco.com/subversion/download
*
Received on 2012-10-30 00:00:42 CET

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