Page MenuHomePhabricator

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

Authored by epriestley on Thu, Jul 15, 6:02 PM.

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.Thu, Jul 15, 6:02 PM
This revision was not accepted when it landed; it landed in state Needs Review.Wed, Jul 21, 9:24 PM
This revision was automatically updated to reflect the committed changes.