Cherrypick merge from stacked bzr+ssh makes far too many HPSS calls
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Confirmed
|
Medium
|
Unassigned |
Bug Description
I just attempted this command:
$ bzr merge lp:~gz/bzr/escape_selftest_console_output_633216 -r 5411..
I killed it after nearly 10 minutes, 1332 HPSS calls (17 vfs), and only 1031kB of transfer (~1.9 kB/s).
Quick guess: resolving that revision range in a stacked repository is causing bzr to walk history 1 rev at a time in the stacked repo.
Here's the traceback when I interrupted it:
Traceback (most recent call last):
File "/home/
return the_callable(*args, **kwargs)
File "/home/
ret = run(*run_argv)
File "/home/
return self.run(
File "/home/
return self._operation
File "/home/
self.cleanups, self.func, *args, **kwargs)
File "/home/
result = func(*args, **kwargs)
File "/home/
location, revision, remember, possible_
File "/home/
other_
File "/home/
return self._as_
File "/home/
return self.in_
File "/home/
revs = branch.
File "/home/
return self._real_
File "/home/
result = unbound(self, *args, **kwargs)
File "/home/
history = self._gen_
File "/home/
self.
File "/home/
stop_
File "/home/
revision_id = iterator.next()
File "/home/
parents = graph.get_
File "/home/
new_found = parents_
File "/home/
parent_map = self._get_
File "/home/
verb, args, body)
File "/home/
method, args, body_bytes)
File "/home/
method, args, body=body, expect_
File "/home/
expect_
File "/home/
self.
File "/home/
self.
File "/home/
bytes = self._medium_
File "/home/
return self._read_
File "/home/
return self._medium.
File "/home/
return self._read_
File "/home/
return self._real_
File "/home/
return self._read_
File "/home/
self._socket, self._report_
File "/home/
bytes = sock.recv(
File "/home/
signal.
File "/home/
signal.
File "/usr/lib/
return self.dispatch_
File "/usr/lib/
if self.quitting: raise BdbQuit
Here's some .bzr.log:
21.918 hpss call: 'get', '/~gz/bzr/
21.918 (to bzr+ssh:
22.270 result: ('ok',)
22.270 59 body bytes read
22.271 hpss call w/body: 'Repository.
22.271 3 bytes
22.649 result: ('ok',)
22.649 206 body bytes read
22.649 hpss call w/body: 'Repository.
22.649 3 bytes
23.636 result: ('ok',)
24.391 59506 body bytes read
24.419 hpss call w/body: 'Repository.
24.419 56 bytes
24.776 result: ('ok',)
24.776 92 body bytes read
24.776 hpss call w/body: 'Repository.
24.776 56 bytes
25.134 result: ('ok',)
25.134 92 body bytes read
...
550.532 hpss call w/body: 'Repository.
('<email address hidden>'...)
550.532 56 bytes
550.920 result: ('ok',)
550.920 95 body bytes read
550.921 hpss call w/body: 'Repository.
('<email address hidden>'...)
550.921 56 bytes
551.295 result: ('ok',)
551.295 94 body bytes read
551.296 hpss call w/body: 'Repository.
('<email address hidden>'...)
551.296 56 bytes
tags: | added: check-for-breezy |
I should perhaps add that I was trying to cherrypick that branch from lp:bzr into a branch from lp:bzr/2.2.