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

Re: Revprop caching 'n stuff

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Thu, 08 Mar 2012 09:26:20 +0000

Stefan Fuhrmann <stefanfuhrmann_at_alice-dsl.de> writes:

> * undo the above-mentioned revs on /trunk

Good. I was starting to have concerns about other races in the current
code. For example:

  - first process reads generation file N
  - second process writes new revprops
  - first process reads revprops
  - second process writes generation file N+1

This means the cache doesn't have revprops for N but for some n>=N. I
suppose the system might work with this sort of cache but I'm not sure
it has been considered. I suppose the reader could loop, rereading the
generation file after reading the revprops file until it sees the same
generation before and after revprops.

Another example:

  - first process reads/caches revprops for generation N
  - second process writes new revprops and gets killed before updating
    the generation file
  - third process reads/caches revprops and gets new revprops plus
    generation N

This means two readers that have different revprops for generation N.
Both of them will believe they have up-to-date values if they reread the
generation file.

uberSVN: Apache Subversion Made Easy
Received on 2012-03-08 10:27:03 CET

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