Page MenuHomePhabricator

Do initial repository imports at a lower priority and finish importing commits before starting new ones
ClosedPublic

Authored by epriestley on Sep 21 2016, 10:38 PM.

Details

Summary

Fixes T11677. This makes two minor adjustments to the repository import daemons:

  • The first step ("Message") now queues at a slightly-lower-than-default (for already-imported repositories) or very-low (for newly importing repositories) priority level.
  • The other steps now queue at "default" priority level. This is actually what they already did, but without this change their behavior would be to inherit the priority level of their parents.

This has two effects:

  • When adding new repositories to an existing install, they shouldn't block other things from happening anymore.
  • The daemons will tend to start one commit and run through all of its steps before starting another commit. This makes progress through the queue more even and predictable.
    • Before, they did ALL the message tasks, then ALL the change tasks, etc. This works fine but is confusing/uneven/less-predictable because each type of task takes a different amount of time.
Test Plan
  • Added a new repository.
  • Saw all of its "message" steps queue at priority 4000.
  • Saw followups queue at priority 2000.
  • Saw progress generally "finish what you started" -- go through the queue one commit at a time, instead of one type of task at a time.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Do initial repository imports at a lower priority and finish importing commits before starting new ones.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad edited edge metadata.
This revision is now accepted and ready to land.Sep 21 2016, 11:16 PM
This revision was automatically updated to reflect the committed changes.