PQM

Support parallel merges

Bug #125924 reported by James Henstridge
2
Affects Status Importance Assigned to Milestone
PQM
Triaged
Wishlist
Unassigned

Bug Description

It'd be nice if PQM could process multiple merges for a branch in parallel. If multiple machines are available to run the test suite,, then this should be possible.

One possible way of doing this while still maintaining PQM's invariants (that each revision published passes the tests) would be:

 1. take the first N merge requests from the queue
 2. for each request, merge it and commit locally. Stop on the first failed merge
 3. run the test suite against each revision created in (2) in parallel
 4. after the test suites have run, publish revisions up until the first revision that failed the tests.
 5. mark each request that passed the tests, and the first that failed as done. Put the remaining requests back on the queue
 6. clean up the working tree (throwing away any revisions with failed tests) and repeat

In the worst case, this will have the performance of processing the requests in series. In the best case, (where branches pass the tests) it should be a lot better.

Revision history for this message
Robert Collins (lifeless) wrote : Re: [Bug 125924] Support parallel merges

We can probably get improved throughput today by assuming most branches
will pass and grabbing e.g. 2 at a time; if the merge fails revert and
try just the first.

However we need a clearer queuing system, the current one is based
around a series of commands from one person with no grammar. We need to
be able to inspect several items in the queue without taking action, to
see if they are compatible, to do *either* what you describe or what I
describe.

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

Changed in pqm:
importance: Undecided → Wishlist
status: New → Triaged
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.