You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Daniel Shahaf <da...@elego.de> on 2012/03/21 09:39:14 UTC

relation to minfo-cnt bug Re: predecessor count for the root node-revision is wrong message

Jason,

I've learnt yesterday something new about the minfo-cnt corruption bug:
it can manifest not only as absurdly high values (on the order of 2**70),
but as far smaller wrong increments too (such as increment of 172
instead of of 0 on one occasion).

Could you determine whether said bug has occurred in your history?  You
can do that by duplicating your repository using svnsync or dump|load,
running dump-noderev.pl on / of both copies at the same revisions, and
comparing the minfo-cnt values.

I would be interested in knowing whether they are equal between the two
copies.

Thanks,

Daniel

Jason Wong wrote on Thu, Feb 16, 2012 at 11:42:42 -0800:
> >  ./dump-noderev.pl /repository / 61851
> ------------------------------
> 
> id: 0.0.r61851/33470
> type: dir
> pred: 0.0.r61850/3844
> count: 61818
> text: 61851 32225 1232 1232 7555349571e297c23e647cc2441d5b8f
> cpath: /
> copyroot: 0 /
> minfo-cnt: 25685
> ------------------------------

Re: relation to minfo-cnt bug Re: predecessor count for the root node-revision is wrong message

Posted by Daniel Shahaf <da...@elego.de>.
Jason Wong wrote on Fri, Mar 30, 2012 at 11:39:02 -0700:
> On Wed, Mar 28, 2012 at 12:00 PM, Daniel Shahaf <da...@elego.de> wrote:
> > Jason Wong wrote on Wed, Mar 28, 2012 at 11:49:20 -0700:
> >> dump-noderev.pl /repo /
> >> ---------------------
> >> id: 0.0.r62104/28771
> >> type: dir
> >> pred: 0.0.r62103/28680
> >> count: 62071
> >> text: 62104 27520 1238 1238 ea635421e867454f9f7bc503c8160a2c
> >> cpath: /
> >> copyroot: 0 /
> >> minfo-cnt: 25707
> >> ---------------------
> >>
> >> dump-noderev.pl /mirror2 /
> >> -----------------------
> >> id: 0.0.r62104/6122
> >> type: dir
> >> pred: 0.0.r62103/6039
> >> count: 62104
> >> text: 62104 4874 1235 1235 1f315ed2437ba5d70dba2587d9ef2d5a
> >> cpath: /
> >> copyroot: 0 /
> >> minfo-cnt: 25707
> >> -----------------------
> >>
> >> Is this in line with what you expected?
> >
> > It's in line with my expectations, insofar as on the mirror the 'count'
> > is correct.
> >
> > It also indicates that you weren't bitten by the minfo-cnt part of this
> > bug.  As you know from the dev@ thread, Philip identified that part and
> > fixed it too -- after my above email.
> >
> > Thanks again for your help in chasing down this bug.  It was backported
> > today towards 1.7.5 too.
> >
> > Cheers,
> >
> > Daniel
> 
> Hi Daniel.
> 
> No problem. I am glad the issues are fixed. Thank you for all your help
> and patience with my slow replies. It has been a busy couple of months
> for me in trying find the time to do these tests.
> 

Welcome.

> So for correcting the "count" information in our live repository, I
> should run svnsync on it at some point?

You already did, as you have a mirror.  (Maybe you created it via
dump/load.)  Now you just need to swap the mirror for the original
repository:

- stop commits
- svnsync sync URL/to/mirror2 URL/to/repo
  (or svnadmin dump -r (YOUNGEST ON MIRROR2):HEAD --deltas --incremental repo \
      | svnadmin load mirror2)
- rename repo repo.i4129-victim && rename mirror2 repo
- enable commits

> Is there anything I need to do
> after running that command in order to have it not link to the original?

You can optionally remove the svn:sync-* revprops from r0.

> 
> Thanks.
> 
> 
> Jason Wong

Re: relation to minfo-cnt bug Re: predecessor count for the root node-revision is wrong message

Posted by Jason Wong <jw...@gmail.com>.
On Wed, Mar 28, 2012 at 12:00 PM, Daniel Shahaf <da...@elego.de> wrote:
> Jason Wong wrote on Wed, Mar 28, 2012 at 11:49:20 -0700:
>> dump-noderev.pl /repo /
>> ---------------------
>> id: 0.0.r62104/28771
>> type: dir
>> pred: 0.0.r62103/28680
>> count: 62071
>> text: 62104 27520 1238 1238 ea635421e867454f9f7bc503c8160a2c
>> cpath: /
>> copyroot: 0 /
>> minfo-cnt: 25707
>> ---------------------
>>
>> dump-noderev.pl /mirror2 /
>> -----------------------
>> id: 0.0.r62104/6122
>> type: dir
>> pred: 0.0.r62103/6039
>> count: 62104
>> text: 62104 4874 1235 1235 1f315ed2437ba5d70dba2587d9ef2d5a
>> cpath: /
>> copyroot: 0 /
>> minfo-cnt: 25707
>> -----------------------
>>
>> Is this in line with what you expected?
>
> It's in line with my expectations, insofar as on the mirror the 'count'
> is correct.
>
> It also indicates that you weren't bitten by the minfo-cnt part of this
> bug.  As you know from the dev@ thread, Philip identified that part and
> fixed it too -- after my above email.
>
> Thanks again for your help in chasing down this bug.  It was backported
> today towards 1.7.5 too.
>
> Cheers,
>
> Daniel

Hi Daniel.

No problem. I am glad the issues are fixed. Thank you for all your help
and patience with my slow replies. It has been a busy couple of months
for me in trying find the time to do these tests.

So for correcting the "count" information in our live repository, I
should run svnsync on it at some point? Is there anything I need to do
after running that command in order to have it not link to the original?

Thanks.


Jason Wong

Re: relation to minfo-cnt bug Re: predecessor count for the root node-revision is wrong message

Posted by Daniel Shahaf <da...@elego.de>.
Jason Wong wrote on Wed, Mar 28, 2012 at 11:49:20 -0700:
> dump-noderev.pl /repo /
> ---------------------
> id: 0.0.r62104/28771
> type: dir
> pred: 0.0.r62103/28680
> count: 62071
> text: 62104 27520 1238 1238 ea635421e867454f9f7bc503c8160a2c
> cpath: /
> copyroot: 0 /
> minfo-cnt: 25707
> ---------------------
> 
> dump-noderev.pl /mirror2 /
> -----------------------
> id: 0.0.r62104/6122
> type: dir
> pred: 0.0.r62103/6039
> count: 62104
> text: 62104 4874 1235 1235 1f315ed2437ba5d70dba2587d9ef2d5a
> cpath: /
> copyroot: 0 /
> minfo-cnt: 25707
> -----------------------
> 
> Is this in line with what you expected?

It's in line with my expectations, insofar as on the mirror the 'count'
is correct.

It also indicates that you weren't bitten by the minfo-cnt part of this
bug.  As you know from the dev@ thread, Philip identified that part and
fixed it too -- after my above email.

Thanks again for your help in chasing down this bug.  It was backported
today towards 1.7.5 too.

Cheers,

Daniel

Re: relation to minfo-cnt bug Re: predecessor count for the root node-revision is wrong message

Posted by Jason Wong <jw...@gmail.com>.
On Thu, Mar 22, 2012 at 11:32 AM, Jason Wong <jw...@gmail.com> wrote:
> Hello Daniel.
>
> I will give it a go and let you know what I find.
>
> Jason
>
> On Wed, Mar 21, 2012 at 1:39 AM, Daniel Shahaf <da...@elego.de> wrote:
>> Jason,
>>
>> I've learnt yesterday something new about the minfo-cnt corruption bug:
>> it can manifest not only as absurdly high values (on the order of 2**70),
>> but as far smaller wrong increments too (such as increment of 172
>> instead of of 0 on one occasion).
>>
>> Could you determine whether said bug has occurred in your history?  You
>> can do that by duplicating your repository using svnsync or dump|load,
>> running dump-noderev.pl on / of both copies at the same revisions, and
>> comparing the minfo-cnt values.
>>
>> I would be interested in knowing whether they are equal between the two
>> copies.
>>
>> Thanks,
>>
>> Daniel
>>
>> Jason Wong wrote on Thu, Feb 16, 2012 at 11:42:42 -0800:
>>> >  ./dump-noderev.pl /repository / 61851
>>> ------------------------------
>>>
>>> id: 0.0.r61851/33470
>>> type: dir
>>> pred: 0.0.r61850/3844
>>> count: 61818
>>> text: 61851 32225 1232 1232 7555349571e297c23e647cc2441d5b8f
>>> cpath: /
>>> copyroot: 0 /
>>> minfo-cnt: 25685
>>> ------------------------------

Hello Daniel.

The svnsync took a while to run once I got it going. I ran the command
on the hotcopy I had made originally to keep the results consistant.

I have run the following two commands:
	dump-noderev.pl /repo /
	dump-noderev.pl /mirror2 /
	
Here are the outputs from the commands:

dump-noderev.pl /repo /
---------------------
id: 0.0.r62104/28771
type: dir
pred: 0.0.r62103/28680
count: 62071
text: 62104 27520 1238 1238 ea635421e867454f9f7bc503c8160a2c
cpath: /
copyroot: 0 /
minfo-cnt: 25707
---------------------

dump-noderev.pl /mirror2 /
-----------------------
id: 0.0.r62104/6122
type: dir
pred: 0.0.r62103/6039
count: 62104
text: 62104 4874 1235 1235 1f315ed2437ba5d70dba2587d9ef2d5a
cpath: /
copyroot: 0 /
minfo-cnt: 25707
-----------------------

Is this in line with what you expected?

Jason Wong.

Re: relation to minfo-cnt bug Re: predecessor count for the root node-revision is wrong message

Posted by Jason Wong <jw...@gmail.com>.
Hello Daniel.

I will give it a go and let you know what I find.

Jason

On Wed, Mar 21, 2012 at 1:39 AM, Daniel Shahaf <da...@elego.de> wrote:
> Jason,
>
> I've learnt yesterday something new about the minfo-cnt corruption bug:
> it can manifest not only as absurdly high values (on the order of 2**70),
> but as far smaller wrong increments too (such as increment of 172
> instead of of 0 on one occasion).
>
> Could you determine whether said bug has occurred in your history?  You
> can do that by duplicating your repository using svnsync or dump|load,
> running dump-noderev.pl on / of both copies at the same revisions, and
> comparing the minfo-cnt values.
>
> I would be interested in knowing whether they are equal between the two
> copies.
>
> Thanks,
>
> Daniel
>
> Jason Wong wrote on Thu, Feb 16, 2012 at 11:42:42 -0800:
>> >  ./dump-noderev.pl /repository / 61851
>> ------------------------------
>>
>> id: 0.0.r61851/33470
>> type: dir
>> pred: 0.0.r61850/3844
>> count: 61818
>> text: 61851 32225 1232 1232 7555349571e297c23e647cc2441d5b8f
>> cpath: /
>> copyroot: 0 /
>> minfo-cnt: 25685
>> ------------------------------