Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Automated report: NetBSD-current/i386 build failure



On Sat, Nov 12, 2011 at 12:49:29PM +0200, Andreas Gustafsson wrote:
> Thor Lancelot Simon wrote:
> > On Fri, Nov 11, 2011 at 11:33:10PM +0200, Andreas Gustafsson wrote:
> > > 
> > > Your assumption is correct, and the next build did succeed.  Sorry about
> > > the false alarm.  If only there was a way to mirror the repository that
> > > would guarantee a consistent snapshot...
> > 
> > Not really possible; CVS does not have changelists.  You can't do any
> > better than it does for the developers themselves!
> 
> I think there are two distinct problems here.  The lack of change sets
> in CVS essentially means that writes to the repository are not atomic,
> while the use of rsync for mirroring means that reads of the
> repository are not atomic.  The false alarms in the auto-builds have
> not been caused by the non-atomic writes (commits), but by the
> non-atomic reads (rsync).

The CVS client used by developers *also* does not provide atomic reads.
The reads are atomic with respect to each RCS file but decidedly *not*
atomic with respect to the repository as a whole,

When we first set up the repository mirror service, we duplicated the
CVS client's locking behavior.  In practice, this provided no win, since
most problems are not caused by partial updates to individual RCS files
(those are very fast) but by mismatched checkouts of different files
(there is a time window as long as the entire commit).  So, since it
meant keeping the repository locked away from normal developer access
for much longer, we turned it off.

Thor


Home | Main Index | Thread Index | Old Index