Vast number of round-trips pushing stacked branch
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
High
|
Andrew Bennetts |
Bug Description
Pushing a stacked branch takes a ridiculous number of round-trips. Here's an extreme demonstration, pushing bzr.dev stacked onto a branch with just r1 of bzr.dev:
andrew@
Repository branch (format: unnamed)
Location:
shared repository: bzr://localhost
repository branch: bzr://localhost
andrew@
Pushed up to revision 1.
HPSS calls: 41 <bzrlib.
andrew@
Source format does not support stacking, using format: '1.6'
Packs 5 (adds stacking support, requires bzr 1.6)
Created new stacked branch referring to bzr://localhost
HPSS calls: 10 <bzrlib.
HPSS calls: 15 <bzrlib.
HPSS calls: 93585 <bzrlib.
HPSS calls: 11 <bzrlib.
real 3m9.360s
user 2m5.604s
sys 0m7.272s
Most of those HPSS calls are tiny writes to the new pack file:
28.899 hpss call w/body: 'append', '/repo2/
28.899 243 bytes
28.900 result: ('appended', '3233112')
28.901 hpss call w/body: 'append', '/repo2/
28.901 754 bytes
28.901 result: ('appended', '3233355')
28.902 hpss call w/body: 'append', '/repo2/
28.902 188 bytes
28.902 result: ('appended', '3234109')
28.903 hpss call w/body: 'append', '/repo2/
28.903 463 bytes
28.903 result: ('appended', '3234297')
Changed in bzr: | |
assignee: | nobody → spiv |
status: | New → Confirmed |
Changed in bzr: | |
status: | Confirmed → Fix Released |
Changed in bzr: | |
status: | Fix Released → Triaged |
Changed in bzr: | |
status: | Fix Committed → Fix Released |
On Thu, 2008-11-06 at 02:09 +0000, Andrew Bennetts wrote:
>
> Most of those HPSS calls are tiny writes to the new pack file:
I'm sure I've noted before that the hpss file stream is not as efficient
as sftp's :P
Tossing a cache into the object should help :)
Alternatively/ possibly- as-well having a thread do actual writes would
introduce more concurrency
-Rob www.robertcolli ns.net/ keys.txt>.
--
GPG key available at: <http://