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

Re: rep-cache sanity check on commit

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Tue, 31 Jul 2012 10:01:13 +0100

Philip Martin <philip.martin_at_wandisco.com> writes:

> When the commit process finds a representation in the rep-cache the only
> sanity check that happens is that the revision must be less than or
> equal to HEAD.

This check is a bit worrying. The check is supposed to handle the case
where the rep-cache is newer than the repository files for some reason
(hotcopy, rsync, backup/restore, something like that) but it doesn't
really do the right thing. The check does correctly identify a bogus
cache entry as being newer than HEAD but the response is wrong. At
present it simply ignores the bogus entry for the commit in progress but
that leaves the bogus entry to be used by later commits when the HEAD
check no longer identifies it as bogus.

When we detect a cache entry newer than HEAD we should remove the entry
from the cache at the very least. It would probably be better to remove
all entries newer than HEAD but that would be expensive unless we
introduce an index on revision. We have bumped the FSFS format in 1.8
so I guess we should have upgrade add an index.

-- 
Certified & Supported Apache Subversion Downloads:
http://www.wandisco.com/subversion/download
Received on 2012-07-31 11:01:51 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.