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

RE: svnsync checksum error

From: Edward Ned Harvey <svn_at_nedharvey.com>
Date: Wed, 10 Nov 2010 00:28:48 -0500

> From: Daniel Shahaf [mailto:d.s_at_daniel.shahaf.name]
> Can you compare the contents of /path/to/file/foo/bar between the master
> and mirror, as of the last revision successfully synced to the mirror?

The latest rev which synced without reporting any error was 5045. It was
trying to go from 5045 to 5046 when it triggered the checksum failure.

I checked the history of the file in question, and it was changed in ~200
different revs. But the revs of interest are: in 4390, it synced to the
slave without reporting any error, however, from 4390 onward, if I checkout
from the slave and master, the two files differ. And the next rev where
this file was changed was 5046, which is when svnsync notices the checksum
mismatch, and dies.

It would seem, all of this behavior could be explained by a simple
undetected hardware error. During sync of 4390, the slave wrote some bits
to disk, which got written wrongly. It is known that disks will do this
rarely. This is one of the huge arguments in favor of ZFS and BTRFS and
filesystem checksumming in general. Such filesystems detect and correct
data corruption which would have otherwise passed silently... Which seems
to be what happened in my case.

All servers and clients are running 1.6.12. However, at the time when 4390
was committed... The master was 1.6.12, but the slave was probably 1.5.7

> If you create a fresh mirror and svnsync it, from r0 to that revision,
does the
> file /path/to/file/foo/bar in the fresh mirror differ from the one in the
> master?

No problems. Although ... I didn't let it sync from rev 0. (That would be
impossibly time consuming... weeks....) I did as mentioned before.
Transferred a backup of the master to the slave, and used it as the "seed"
for the sync, so I only needed to sync the last 100 revs or something like
Received on 2010-11-10 06:29:36 CET

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.