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

Re: svn commit: r1331763 - in /subversion/trunk/subversion/libsvn_fs_fs: fs.h fs_fs.c

From: Daniel Shahaf <danielsh_at_elego.de>
Date: Sat, 28 Apr 2012 17:41:19 +0300

stefan2_at_apache.org wrote on Sat, Apr 28, 2012 at 13:48:00 -0000:
> Author: stefan2
> Date: Sat Apr 28 13:48:00 2012
> New Revision: 1331763
>
> URL: http://svn.apache.org/viewvc?rev=1331763&view=rev
> Log:
> The lifetime of the shared-memory based named atomics used for
> revprop generation communication and storage may be as short as
> that of the svn_fs_t. Cached revprops may live as long as the process,
> though. Therefore, we must store the revprop generation on disk
> and re-read it when we encounter un-initialized (having only the
> default value of 0) the named atomics.
>
> Please note that the revprop generation file is optional an may be
> removed or remain unchanged when being used with older servers.
> Therefore, no format bump is necessary.

I'm lost. The cache lives as long as the process, the generation as
long as the svn_fs_t, therefore you cache the generation on-disk? In
a file whose name is _not_ keyed on the process (or even the machine)?

This sounds wrong. (For example, if two processes on the same machine
both swap out their generation to a file, and then read it back, one of
them will get the wrong value.) Isn't the right solution to store the
generation in memory of the same lifetime as the cache itself?
Received on 2012-04-28 16:42:30 CEST

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