Branch6 reads entire revision index to check for missing revisions

Bug #144071 reported by Alexander Belchenko
2
Affects Status Importance Assigned to Milestone
Bazaar
Fix Released
High
Unassigned

Bug Description

It seems that dirstate-tags is more expensive for network operations then old dirstate/knits.
To check whether my local branch and public branch on http server is identical (before send email to PQM) I use `bzr missing` command.
Unfortunately, I see that this command try to read more data from server for dirstate-tags branch, than for similar dirstate branch (I talk about my devel bzr branches hosted at http://bzrdev.bialix.com).

Particularly for Branch5:
bzr missing http://bzrdev.bialix.com/rob.weir
read from server only about 150KB,

but for Branch6:
bzr missing http://bzrdev.bialix.com/win32.fixes
read from server more than 1MB. (It seems that for Branch6 bzr try to read entire revisions.kndx, may be I'm wrong).
It's inconsistent with fast using last-revision marker.

I think all network operations for Branch6 should be carefully revisited to avoid unnecessary read extra data from server.

Revision history for this message
Robert Collins (lifeless) wrote : Re: [Bug 144071] dirstate-tags format is expensive for network operations?

 importance high
 status triaged

Branch6 depends on accessing the revision graph from the repository;
this requires index operations that for knit repositories read the
entire index.

In Packs this should do partial index operations and use much less
bandwidth.

-Rob

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

Changed in bzr:
importance: Undecided → High
status: New → Triaged
Revision history for this message
James Westby (james-w) wrote :

Hi,

Should this bug be High priority? I assume packs are better here,
and I doubt we're going to fix old formats fox things like this.

Thanks,

James

Revision history for this message
Aaron Bentley (abentley) wrote :

Branch6 isn't an old format, if that's what you mean. It is used for pack-0.92 and rich-root-pack.

Revision history for this message
John A Meinel (jameinel) wrote :

The bug is actually that a Branch6 branch backed by a Knit format repository is causing all of revisions.kndx to be read.

At this point, the fix is to tell them to use a Pack repository. We don't have any way to "partially" read revisions.kndx, but we do have partial reads for pack index files. So we can either mark this as "Fix Released" or as "Won't Fix". We won't fix it for knits, it is already fixed for packs.

Revision history for this message
John A Meinel (jameinel) wrote :

If you use a pack format repository, this should not be the case anymore. missing does a lazy search, rather than reading the whole ancestry, and packs are able to read only parts of the index, rather than the whole thing.

Changed in bzr:
milestone: none → 1.6
status: Triaged → Fix Released
Revision history for this message
James Westby (james-w) wrote : Re: [Bug 144071] Re: Branch6 reads entire revision index to check for missing revisions

On Thu, 2008-06-12 at 15:48 +0000, Aaron Bentley wrote:
> Branch6 isn't an old format, if that's what you mean. It is used for
> pack-0.92 and rich-root-pack.
>

Ah, I misread the bug report then, sorry.

Thanks,

James

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.