Comment 37 for bug 456077

Revision history for this message
John A Meinel (jameinel) wrote : Re: [Bug 456077] Re: MYSQL/BZR P3: bzr doesn't explain it's doing a slow cross-format fetch

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

Matt Nordhoff wrote:
> GuilhemBichot wrote:
>> Some piece of information, maybe useless: on the local machine, when
>> I killed bzr after it had exchanged 300MB on the network and ran for
>> 4 hours, my branch was only 8KB.
>
> Did you check the size before or after killing it? There should have
> been a pile of data in .bzr/repository/upload, which bzr would have
> deleted when it exited.

Given the symptoms, I'm going to guess something else.

1) I believe the "Generic" fetch code has to stay 'knit' compatible. So
it always fetches

  texts
  inventories
  revisions (and signatures)

In that order.

2) To determine what texts need to be sent, it first has to read the
inventory data looking for text keys that need to be transmitted.

3) The code Martin added to give a warning uses the fact that
inventories are transmitted differently when there is a cross-format
fetch. Which according to (1) means that all the texts have to be
transmitted before it issues the warning.

And in the cross-format case, I think we'll be recompressing all of
those 300+MB of text content before we give the warning.

Obviously this is not satisfactory for the case we are trying to solve.

I think moving the check to be part of "_get_source()" might work. In
that code we'll have a check for "source.network_name() ==
target.network_name()", and we can warn when they aren't identical.

It isn't foolproof. In that fetching from a pack-0.92 format into a 1.9
format has no extra overhead. (The only change is the index format,
which are always generated locally anyway.)

It is possible that we would want to instead special case specific
conversion combinations.

I'll bump this back to needs to be worked on, since the current status
is not satisfactory.

 status: confirmed

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

iEYEARECAAYFAktQjTUACgkQJdeBCYSNAANEIACfRo2g3b9mIZUHbe5ue7JXljNs
gKQAoMcw4dgpD0htmE5uFi41mg4PrzOn
=gbZA
-----END PGP SIGNATURE-----