You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Edward Ned Harvey <sv...@nedharvey.com> on 2010/10/16 12:18:35 UTC

checksum error

I have a master & slave server, in US and India.  They are both 1.6.12, but
the slave was 1.5.7 until a few days ago.

 

The mast is at rev 5050, but the slave will only sync up to rev 5045.  Every
time it tries to sync 5046, I get a checksum error in the apache error_log.
It says some file fails md5.

 

In order to figure out where the corruption is, I tried using a svn client,
to simply checkout that file from the master, rev 5044, 5045, 5046.  Had no
problem.  Correct me if I'm wrong, but, if the corruption were on the
server, I should have gotten the error during that operation, right?  Does
the svn sync slave do md5 checksums that the svn client doesn't do?

 

If I restore the slave from backup, and re-try the sync, it consistently
fails at 5045 trying 5046, and always the same file, and always the same
mismatched checksum.

 

Since we're drawing the conclusion that the corruption is in the slave, it
must mean that a past version of something was corrupted and undetected.  In
fact, when I upgraded from 1.5.7 to 1.6.12, I did a dump & load.  So it
seems, if I had silently corrupted on-disk, I should have discovered the
problem at that time, right?  Unless perhaps ... 1.5 didn't do checksums so
the 1.6 dump & load has nothing from the past to verify...

 

Does 1.6 do some new md5 checksumming that 1.5 didn't do?

 

Anyway, I'm transferring a new fresh copy of the repo to the slave.  I
figure this should fix it.  But I'm extremely curious how this all happened.


Re: checksum error

Posted by John Szakmeister <jo...@szakmeister.net>.
On Sat, Oct 16, 2010 at 8:18 AM, Edward Ned Harvey <sv...@nedharvey.com> wrote:
> I have a master & slave server, in US and India.  They are both 1.6.12, but
> the slave was 1.5.7 until a few days ago.
>
> The mast is at rev 5050, but the slave will only sync up to rev 5045.  Every
> time it tries to sync 5046, I get a checksum error in the apache error_log.
> It says some file fails md5.
>
> In order to figure out where the corruption is, I tried using a svn client,
> to simply checkout that file from the master, rev 5044, 5045, 5046.  Had no
> problem.  Correct me if I'm wrong, but, if the corruption were on the
> server, I should have gotten the error during that operation, right?  Does
> the svn sync slave do md5 checksums that the svn client doesn't do?
>
> If I restore the slave from backup, and re-try the sync, it consistently
> fails at 5045 trying 5046, and always the same file, and always the same
> mismatched checksum.

Did you try running 'svnadmin verify' on either repository?

> Since we're drawing the conclusion that the corruption is in the slave, it
> must mean that a past version of something was corrupted and undetected.  In
> fact, when I upgraded from 1.5.7 to 1.6.12, I did a dump & load.  So it
> seems, if I had silently corrupted on-disk, I should have discovered the
> problem at that time, right?  Unless perhaps ... 1.5 didn't do checksums so
> the 1.6 dump & load has nothing from the past to verify...

Oh, this actually exercises some of the same code... yes, I would have
expected dump to fail.  Perhaps it was an on-the-wire bug.  I seem to
recall an instance where svnsync could fail in this way, but don't
know the details off the top of my head.

-John

RE: checksum error

Posted by Edward Ned Harvey <sv...@nedharvey.com>.
No clues?



> -----Original Message-----
> From: Edward Ned Harvey [mailto:svn@nedharvey.com]
> Sent: Saturday, October 16, 2010 8:19 AM
> To: dev@subversion.apache.org
> Subject: checksum error
> 
> I have a master & slave server, in US and India.  They are both 1.6.12,
> but
> the slave was 1.5.7 until a few days ago.
> 
> 
> 
> The mast is at rev 5050, but the slave will only sync up to rev 5045.
> Every
> time it tries to sync 5046, I get a checksum error in the apache
> error_log.
> It says some file fails md5.
> 
> 
> 
> In order to figure out where the corruption is, I tried using a svn
> client,
> to simply checkout that file from the master, rev 5044, 5045, 5046.
> Had no
> problem.  Correct me if I'm wrong, but, if the corruption were on the
> server, I should have gotten the error during that operation, right?
> Does
> the svn sync slave do md5 checksums that the svn client doesn't do?
> 
> 
> 
> If I restore the slave from backup, and re-try the sync, it
> consistently
> fails at 5045 trying 5046, and always the same file, and always the
> same
> mismatched checksum.
> 
> 
> 
> Since we're drawing the conclusion that the corruption is in the slave,
> it
> must mean that a past version of something was corrupted and
> undetected.  In
> fact, when I upgraded from 1.5.7 to 1.6.12, I did a dump & load.  So it
> seems, if I had silently corrupted on-disk, I should have discovered
> the
> problem at that time, right?  Unless perhaps ... 1.5 didn't do
> checksums so
> the 1.6 dump & load has nothing from the past to verify...
> 
> 
> 
> Does 1.6 do some new md5 checksumming that 1.5 didn't do?
> 
> 
> 
> Anyway, I'm transferring a new fresh copy of the repo to the slave.  I
> figure this should fix it.  But I'm extremely curious how this all
> happened.