inventory delta consistency checks are missing known problems and not universally applied.

Bug #397705 reported by Robert Collins
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Bazaar
Fix Released
Critical
Robert Collins

Bug Description

We have a number of forms of delta corruption that are not currently detected. I have a branch that catches some particularly likely ones and unifies much of the testing of inventory deltas. As a key candidate for dirstate corruption this should be incorporated into 1.17 if possible.

Revision history for this message
Ian Clatworthy (ian-clatworthy) wrote :

Before patch, inventory.create_by_apply_delta = 109 ticks

Revision history for this message
Ian Clatworthy (ian-clatworthy) wrote :

After patch, inventory.create_by_apply_delta = 2875 ticks of which inventory.path2id takes 2822 ticks

Revision history for this message
Ian Clatworthy (ian-clatworthy) wrote :

To reproduce, download http://people.canonical.com/~ianc//benchmarks/repos/bzr/OOo-dev6-20090515.tar.bz2 and unpack. Then something like ...

mkdir zzzDir
echo "hello" > zzzDir/zzzFile
bzr add
bzr ci -m "add zzzFile"
echo "hello2" >> zzzDir/zzzFile
bzr --lsprof-file ../callgrind.out.ci ci -m "change zzzFile"

Revision history for this message
Ian Clatworthy (ian-clatworthy) wrote :

inventory.create_by_apply_delta now 61 ticks

Revision history for this message
Ian Clatworthy (ian-clatworthy) wrote :

Still several test failures - see attached.

Revision history for this message
Robert Collins (lifeless) wrote :

ERROR: test__groupcompress.TestDeltaIndex.test_first_add_source_doesnt_index_until_make_delta
    '_groupcompress_pyx.DeltaIndex' object has no attribute '_has_index'

ERROR: test__groupcompress.TestDeltaIndex.test_second_add_source_triggers_make_index
    '_groupcompress_pyx.DeltaIndex' object has no attribute '_has_index'

These pass for me.

Revision history for this message
Robert Collins (lifeless) wrote :

The other problems were genuine bugs, in tests and also apparently in tree transform; I've fixed them up and added tests for new code that generates clearer failures.

Jonathan Lange (jml)
Changed in bzr:
status: Fix Committed → Fix Released
status: Fix Released → Fix Committed
milestone: 1.17 → 1.18
Changed in bzr:
status: Fix Committed → Fix Released
Revision history for this message
John A Meinel (jameinel) wrote : Re: [Bug 397705] Re: inventory delta consistency checks are missing known problems and not universally applied.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Robert Collins wrote:
> ERROR: test__groupcompress.TestDeltaIndex.test_first_add_source_doesnt_index_until_make_delta
> '_groupcompress_pyx.DeltaIndex' object has no attribute '_has_index'
>
> ERROR: test__groupcompress.TestDeltaIndex.test_second_add_source_triggers_make_index
> '_groupcompress_pyx.DeltaIndex' object has no attribute '_has_index'
>
> These pass for me.
>

I would mention that this sort of thing often happens when someone
forgets to recompile an extension after updating their local copy.

John
=:->

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkpnHBkACgkQJdeBCYSNAAOoYwCeIJcW/a5AItS6FfX9LwwAJyhF
9bcAnR3HRbcmxR9kDZKI+9EjN/4tLODV
=hvo8
-----END PGP SIGNATURE-----

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.