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
Unknown Object (File)
Sat, Dec 21, 5:26 PM
Unknown Object (File)
Tue, Dec 17, 8:06 AM
Unknown Object (File)
Fri, Dec 13, 8:26 PM
Unknown Object (File)
Thu, Dec 12, 2:29 PM
Unknown Object (File)
Sat, Dec 7, 3:51 AM
Unknown Object (File)
Thu, Dec 5, 10:49 AM
Unknown Object (File)
Thu, Dec 5, 10:47 AM
Unknown Object (File)
Mon, Nov 25, 4:18 PM
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.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

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.