way to limit number of revisions processed during fetch

Bug #750175 reported by Jelmer Vernooij
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Bazaar
Fix Released
High
Jelmer Vernooij
Bazaar Git Plugin
Fix Released
Medium
Jelmer Vernooij
Bazaar Hg Plugin
Fix Released
Medium
Jelmer Vernooij
Bazaar Subversion Plugin
Fix Released
Medium
Jelmer Vernooij

Bug Description

bzr-svn/bzr-hg/bzr-git currently support an optional "limit" parameter to their Branch.pull functions that allows limiting the number of revisions fetched. This is used so that on the launchpad importer service the import slaves don't get blocked by a single process.

Previously this code worked using a hack that assumed the last revision fetched was the tip of the branch if all revisions were fetched. Now that tags are being fetched this is no longer true.

It would be nice to have this sort of infrastructure in Bazaar itself, perhaps using a limit= argument to Repository.fetch()

Related branches

Jelmer Vernooij (jelmer)
Changed in bzr:
importance: Medium → High
status: Triaged → Confirmed
Jelmer Vernooij (jelmer)
Changed in bzr:
assignee: nobody → Jelmer Vernooij (jelmer)
status: Confirmed → In Progress
Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

I guess if you're looking at this again, I'd say that what the code importers really care about is to limit the _time_ spent processing revisions during fetch. This might even be useful for people who are pulling large branches over low-bandwidth links, rather than running bzr pull -r 1000; bzr pull -r 2000; and so on, but that's perhaps going off into lala land.

Yay for fixing this problem without hacks though.

Jelmer Vernooij (jelmer)
Changed in bzr-git:
status: New → In Progress
Changed in bzr-hg:
status: New → In Progress
Changed in bzr-svn:
status: New → In Progress
Changed in bzr-git:
assignee: nobody → Jelmer Vernooij (jelmer)
Changed in bzr-hg:
assignee: nobody → Jelmer Vernooij (jelmer)
Changed in bzr-svn:
assignee: nobody → Jelmer Vernooij (jelmer)
Revision history for this message
Jelmer Vernooij (jelmer) wrote :

We considered other options, but having a "timelimit" option or something like that is going to be awkward to implement and test; this seems to work reasonably well at the moment and is also fairly easy to implement. From Launchpad's POV there's probably also the memory usage that needs to be limited.

Alternatively, perhaps we could remember in launchpad how long the last run took per revision, and use that to adjust the limit?

Jelmer Vernooij (jelmer)
Changed in bzr-git:
status: In Progress → Fix Committed
importance: Undecided → Medium
milestone: none → 0.6.1
Jelmer Vernooij (jelmer)
Changed in bzr-svn:
status: In Progress → Fix Committed
importance: Undecided → Medium
milestone: none → 1.1.0
Changed in bzr-hg:
status: In Progress → Fix Committed
importance: Undecided → Medium
milestone: none → 0.2
Vincent Ladeuil (vila)
Changed in bzr:
milestone: none → 2.4b3
status: In Progress → Fix Released
Jelmer Vernooij (jelmer)
Changed in bzr-git:
status: Fix Committed → Fix Released
Jelmer Vernooij (jelmer)
Changed in bzr-svn:
status: Fix Committed → Fix Released
Jelmer Vernooij (jelmer)
Changed in bzr-hg:
status: Fix Committed → Fix Released
milestone: 0.2 → 0.1.1
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.