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

Revprop-caching-ng branch ready for review

From: Stefan Fuhrmann <stefan.fuhrmann_at_wandisco.com>
Date: Tue, 26 Aug 2014 17:04:27 +0200

Hi all,

Please review the changes in that branch such that
it can be merged to /trunk.

Basically, we replace the shared memory code with
plain file access and keep the revprop caching and
invalidation logic unchanged. Also, we make sure that
writes don't rely on existing buffer / cache contents,
i.e. there are no lost updates. See BRANCH-README
for more details.

The main logic can be found in revprops.c, lines 149-622;
it's probably easiest to read the new code as-is instead
of looking at the diff for that section.

Here the guarantees and limitations of the new implementation:

* No lost updates in revprop file contents even if the
  SVN caches should be stale.
* A connection (svn_fs_t) will always see at least all
  changes up to and including its own last revprop change.
* A new connection will always see all changes made
  up to the point the connection got created.

* On Windows and Unixoids, readers will always see
  the latest data if they are on the same machine as the
  writing process.
* Depending on OS read cache configuration and if the
  repository is shared between machines, open connections
  *might* no see revprop updates or might see them delayed
  (the open revprop generation file handle may see a stale
  OS file buffer).
* Revprop caching may be inefficient if the repository is
  shared between machines; again depending on OS config.

-- Stefan^2.
Received on 2014-08-26 17:04:58 CEST

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.