RemoteStream.get_stream_for_missing_keys uses VFS
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Confirmed
|
Medium
|
Unassigned | ||
Breezy |
Fix Released
|
Medium
|
Jelmer Vernooij |
Bug Description
Because of bug #495977, this will be a bit brief (the +filebug page resets on
me every 30s or so... :(
Basically, because RemoteStream.
RPC, when you branch a project with ghosts (like bzr and launchpad), it ends up
calling _ensure_real, then trying reading the .rix and .iix to determine that
those revisions really are ghosts.
I don't know the specific performance implication, because btree indexes mean
that while we have to read every index, we don't have to real all of each one.
However, it does end up being quite a few round-trips to find out that
everything really isn't there. (local and dumb fetches don't have this problem
as they've already had to read the index to determine what to fetch in the
first place.)
Related branches
- Martin Packman: Approve
-
Diff: 274 lines (+150/-9)7 files modifiedbreezy/bzr/remote.py (+42/-2)
breezy/bzr/smart/repository.py (+46/-1)
breezy/bzr/smart/request.py (+3/-0)
breezy/bzr/vf_repository.py (+12/-3)
breezy/tests/blackbox/test_branch.py (+19/-0)
breezy/tests/per_branch/test_create_clone.py (+2/-2)
breezy/tests/test_smart.py (+26/-1)
tags: | added: hpss-no-vfs |
tags: | added: check-for-breezy |
tags: | removed: check-for-breezy |
Changed in brz: | |
status: | New → Triaged |
importance: | Undecided → Medium |
Changed in brz: | |
assignee: | nobody → Jelmer Vernooij (jelmer) |
Changed in brz: | |
status: | Triaged → In Progress |
Changed in brz: | |
milestone: | none → 3.0.0 |
status: | In Progress → Fix Released |