bzr push always fails the first time and succeeds the second time

Bug #223814 reported by Abdulaziz Ghuloum
2
Affects Status Importance Assigned to Milestone
Bazaar
Invalid
Undecided
Unassigned

Bug Description

This is bizarre. Every time I commit locally and try to push to the server hosting my repository, bzr goes into a networking spree trafficking hundreds of megabytes at times (I can see it in Activity Monitor in Mac OS X) before I get pissed off and interrupt it. After interrupting it and retrying, it always succeeds instantaneously. This has been going on for some time now consistently and it started when I upgraded bzr to 1.3 and upgraded the branch formats to the pack (on both the server and on my development machine).

Any ideas?

Aziz,,,

Here's a sample transcript.

$ bzr commit
Committed revision 1453.
$ bzr push
Using saved location: sftp://<email address hidden>/u/aghuloum/.hyplan/ikarus.dev/
Password:
This transport does not update the working tree of: sftp://<email address hidden>/u/aghuloum/.hyplan/ikarus.dev/. See 'bzr help working-trees' for more information.
\ 0/0 ^bzr: interrupted
$ bzr push
Using saved location: sftp://<email address hidden>/u/aghuloum/.hyplan/ikarus.dev/
Password:
This transport does not update the working tree of: sftp://<email address hidden>/u/aghuloum/.hyplan/ikarus.dev/. See 'bzr help working-trees' for more information.
Pushed up to revision 1453.
$ bzr info
Standalone tree (format: pack-0.92)
Location:
  branch root: /Users/ikarus/Work/ikarus

Related branches:
    push branch: sftp://<email address hidden>/u/aghuloum/.hyplan/ikarus.dev/
  parent branch: sftp://<email address hidden>/u/aghuloum/.hyplan/ikarus.dev/

$ bzr --version
Bazaar (bzr) 1.3
  Python interpreter: /opt/local/bin/python 2.4.3.final.0
  Python standard library: /opt/local/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4
  bzrlib: /Users/ikarus/.opt/lib/python/bzrlib
  Bazaar configuration: /Users/ikarus/.bazaar
  Bazaar log file: /Users/ikarus/.bzr.log

Copyright 2005, 2006, 2007, 2008 Canonical Ltd.
http://bazaar-vcs.org/

bzr comes with ABSOLUTELY NO WARRANTY. bzr is free software, and
you may use, modify and redistribute it under the terms of the GNU
General Public License version 2 or later.

Other stuff I find in the .bzr.log file:
**************************************************************
********************* first time when it fails:
**************************************************************
60.872 Using fetch logic to copy between KnitPackRepository('file:///Users/ikarus/Work/ikarus/.bzr/repository/')(<RepositoryFormatKnitPack1>) and KnitPackRepository('sftp://<email address hidden>/u/aghuloum/.hyplan/ikarus.dev/.bzr/repository/')(<RepositoryFormatKnitPack1>)
60.953 seek and read 1 offsets
61.081 seek and read 1 offsets
61.207 seek and read 1 offsets
61.670 seek and read 1 offsets
...
66.644 not updating child fraction
66.645 not updating child fraction
66.647 not updating child fraction
66.647 not updating child fraction
...
66.896 seek and read 1 offsets
66.985 not updating child fraction
69.740 seek and read 1 offsets
69.787 Auto-packing repository <bzrlib.repofmt.pack_repo.RepositoryPackCollection object at 0x221f6b0>, which has 24 pack files, containing 1461 revisions into 12 packs.
70.050 not updating child fraction
72.344 not updating child fraction
72.468 seek and read 332 offsets
73.745 not updating child fraction
73.746 not updating child fraction
... thousands of those

**************************************************************
********************* second time when it succeeds:
**************************************************************
7.081 Using fetch logic to copy between KnitPackRepository('file:///Users/ikarus/Work/ikarus/.bzr/repository/')(<RepositoryFormatKnitPack1>) and KnitPackRepository('sftp://<email address hidden>/u/aghuloum/.hyplan/ikarus.dev/.bzr/repository/')(<RepositoryFormatKnitPack1>)
7.141 seek and read 1 offsets7.268 seek and read 1 offsets
7.395 seek and read 1 offsets
7.874 seek and read 1 offsets
8.475 seek and read 1 offsets
8.675 seek and read 1 offsets
8.803 seek and read 1 offsets
10.086 return code 0

0.196 encoding stdout as sys.stdout encoding 'US-ASCII'
0.198 bzr arguments: [u'--version']
0.246 encoding stdout as sys.stdout encoding 'US-ASCII'
0.317 return code 0

0.198 encoding stdout as sys.stdout encoding 'US-ASCII'
0.201 bzr arguments: [u'info']
0.201 looking for plugins in /Users/ikarus/.bazaar/plugins
0.202 looking for plugins in /Users/ikarus/.opt/lib/python/bzrlib/plugins
0.202 Plugin name __init__ already loaded
0.202 Plugin name __init__ already loaded
0.264 encoding stdout as sys.stdout encoding 'US-ASCII'
0.452 WARNING: using slower ElementTree; consider installing cElementTree and make sure it's on your PYTHONPATH
0.467 opening working tree '/Users/ikarus/Work/ikarus'
0.511 return code 0

0.195 encoding stdout as sys.stdout encoding 'US-ASCII'
0.197 bzr arguments: [u'--version']
0.243 encoding stdout as sys.stdout encoding 'US-ASCII'
0.283 return code 0

Revision history for this message
Robert Collins (lifeless) wrote : Re: [Bug 223814] [NEW] bzr push always fails the first time and succeeds the second time
  • unnamed Edit (189 bytes, application/pgp-signature; name=signature.asc)

On Mon, 2008-04-28 at 18:23 +0000, Abdulaziz Ghuloum wrote:
> Public bug reported:
>
> This is bizarre. Every time I commit locally and try to push to the
> server hosting my repository, bzr goes into a networking spree
> trafficking hundreds of megabytes at times (I can see it in Activity
> Monitor in Mac OS X) before I get pissed off and interrupt it. After
> interrupting it and retrying, it always succeeds instantaneously. This
> has been going on for some time now consistently and it started when I
> upgraded bzr to 1.3 and upgraded the branch formats to the pack (on both
> the server and on my development machine).
>
> Any ideas?

Its trying to tune your repository to ensure continued performance.

It will try to do this until you allow it to succeed.

Not doing it will lead to increased latency on operations and continual
gradual degradation.

You can pack it more quickly by sshing in and running 'bzr pack'. You
can also run 'bzr pack URL' to remotely pack it.

This line:
"""
69.787 Auto-packing repository
<bzrlib.repofmt.pack_repo.RepositoryPackCollection object at 0x221f6b0>,
which has 24 pack files, containing 1461 revisions into 12 packs.
"""

Is the key indicator. 24 packs means the minimum pull speed from this
repository will need 200 round trips; for high latency links this will
perform noticeably slowly.

We have a bug open already that bzr needs to be more informative when
doing this repository maintenance.

 status invalid

--
GPG key available at: <http://www.robertcollins.net/keys.txt>.

Vincent Ladeuil (vila)
Changed in bzr:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

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