readonly, chrooted, http transport fails to be smart about readvs with many ranges

Bug #252481 reported by Michael Hudson-Doyle
2
Affects Status Importance Assigned to Milestone
Bazaar
Expired
Undecided
Unassigned

Bug Description

I think this script (though I admit I haven't run exactly this one), uses far more memory than it should:

from bzrlib import trace
trace.enable_default_logging()
from bzrlib.branch import Branch
from bzrlib.transport import get_transport
from bzrlib.transport import chroot
url = 'http://bazaar-vcs.org/bzr/'
t = get_transport(url)
chroot_server = chroot.ChrootServer(get_transport(url))
chroot_server.setUp()
t = get_transport(chroot_server.get_url())
t = get_transport('readonly+' + t.base)
t = t.clone('bzr.dev')
b = Branch.open_from_transport(t)
b.lock_read()
a = b.repository.get_ancestry(b.last_revision())[1:]
revs = b.repository.get_revisions(a)
b.unlock()

If you don't have the choot and readonly decorators, the usage is much sensible.

The cause seems to be that the decorations somehow miss the smart consolidation of ranges that the http transports do. Not really sure of any more details.

Revision history for this message
Vincent Ladeuil (vila) wrote :

Is that still true ?
What http client is used ? pycurl or urllib ? Both ?

Changed in bzr:
status: New → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for Bazaar because there has been no activity for 60 days.]

Changed in bzr:
status: Incomplete → Expired
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.