HomePhorge

Allow maintenance scripts to write synthetic events to the push log that act as…

Description

Allow maintenance scripts to write synthetic events to the push log that act as repository updates

Summary:
Ref T13614. When a script holds the write lock but modifies the repository directly (rather than by pushing), the repository version won't change when the script releases the write lock. Thus, the writes may not propagate to other nodes (it depends which node lucks out and accepts the next write).

To guarantee that writes propagate, allow these scripts to pretend they pushed the repository. These are bare-bones valid events flagged as "Maintenance".

Test Plan:

  • Wrote a script to hold the write lock, wait (or pretend to do something), then release the write lock.
  • Applied patches, modified script to use new APIs ("newMaintenanceEvent()").
  • Ran script, saw repository verison bump and relevant push logs:

{F8814923}

Maniphest Tasks: T13614

Differential Revision: https://secure.phabricator.com/D21670

Details

Provenance
epriestleyAuthored on Jun 1 2021, 6:34 AM
themackabuPushed on Mar 25 2025, 8:07 PM
Parents
rPbdda7eed0734: Improve display behavior for write locks held by omnipotent users
Branches
Unknown
Tags
Unknown

Event Timeline