noCV
ROLL-105 · Control release risk

Prevent two release jobs from overwriting the same environment

Practice briefBugAdvanced

Two commits deploy simultaneously. The older job finishes last and marks its artifact current after the newer release already passed validation.

Focused work estimate
3h + prerequisites
Priority in the scenario
High
Engineering practice
Distributed leases · Fencing · CI concurrency

Estimated field mix

  • Platform engineering50%
  • Distributed systems50%

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

Your next step

Review it, then add it to your workspace.

The board opens an editable draft; nothing is saved until you confirm it. Sign-in and workspace permissions apply, and Demo boards remain ephemeral.

Project context

A fictional scheduling service has an API, a worker, and PostgreSQL. Releases use immutable images on two application instances. The team needs compatibility checks, staged traffic, and a rehearsed rollback without introducing a new orchestration platform.

Setup prerequisites

  • HTTP health checks
  • CI pipelines
  • Database migrations

Preceding work

Complete these dependencies, or supply their agreed outputs before taking this ticket.

Acceptance criteria

  • Serialize mutations per environment with a bounded renewable lease.
  • Reject state updates from expired or superseded lease holders.
  • Record the winning release identity and every rejected stale update.

Implementation constraints

  • A process-local mutex cannot coordinate independent CI jobs.

Verification to include

  • Race two simulated releases and inspect one current manifest.
  • Expire a lease, acquire a successor, and prove the old holder cannot publish.

Deliverables

  • Release lease protocol and stale-writer regression

Rollout and recovery

Enable serialization on the test environment; disable dispatch while investigating lease failures.

Value of the work

For the engineer: Practice release contracts, compatibility windows, measurable canaries, and incident decisions on a modest application topology.

For the team: Review whether an engineer can make deployments diagnosable and reversible while identifying when rollback is unsafe.

Evidence boundaries

Outcome Evidence: Tests, patches, and runbooks are requested deliverables. They become Outcome Evidence only through a qualified Mission and immutable Evidence IDs.

Ownership Evidence: Independent adaptation must be observed under a declared verification policy and cite immutable Evidence IDs. Completing a planning ticket establishes no Ownership Evidence.