Page MenuHomePhabricator

Correct the flow of edit authority when sending messages to HarbormasterBuild objects
ClosedPublic

Authored by epriestley on Jul 15 2021, 6:02 PM.
Tags
None
Referenced Files
F18780519: D21687.id.diff
Sun, Oct 12, 4:52 PM
F18777123: D21687.id51713.diff
Sat, Oct 11, 12:59 AM
F18734429: D21687.id.diff
Tue, Sep 30, 10:53 PM
F18726343: D21687.id51649.diff
Tue, Sep 30, 6:31 AM
F18711207: D21687.diff
Mon, Sep 29, 3:45 AM
F18643430: D21687.id51713.diff
Fri, Sep 19, 2:19 AM
F18633684: D21687.id51649.diff
Tue, Sep 16, 8:52 PM
F18628998: D21687.id.diff
Tue, Sep 16, 7:48 AM
Subscribers
Restricted Owners Package

Details

Summary

Ref T13072. Currently, Harbormaster builds react to messages by applying a transaction inline (which can race) that has no real effect.

Later, the BuildEngine picks up the mesasge and applies a real effect, but this isn't transactional.

This is backwards, and makes it more difficult to transition to ModularTransaction and EditEngine. The desired workflow is:

  • sending a message just writes to the message table (and queues a worker to process the message);
  • the BuildEngine processes the message and applies effects in a transactional way.

Force this into at least roughly the right sequence of behaviors. This paves the way for porting to ModularTransaction, which should allow further cleanup.

Test Plan

Paused, resumed, aborted, and restarted a build. Ran BuildWorkers to process the commands, saw builds update appropriately.

Event Timeline

Owners added a subscriber: Restricted Owners Package.Jul 15 2021, 6:02 PM
This revision was not accepted when it landed; it landed in state Needs Review.Jul 21 2021, 9:24 PM
This revision was automatically updated to reflect the committed changes.