Skip to content

m5-cutover.sh: terminal lease release uses wrong carrier version and runs before revoke #505

Closed

Description

@James3014

Problem

scripts/ops/m5-cutover/m5-cutover.sh step 10a-release-lease always fails when the predecessor build still leaves the state-root lease un-released (any predecessor before #477):

  1. It passes --carrier-version "$CVER" (the approval-time version, 1). release-terminal-lease rejects --carrier-version < 2 at argument validation (usage error).
  2. It runs before step 10 revokes the carrier, but CarrierBindingStore.releaseClosedCutoverLeaseLocal requires "the exact revoked root carrier" (row.revoked===1 && row.version===expectedCarrierVersion).

Observed on Dev M5 cutover 5c008b0 → 8553fc5 (cutover 349621ba, 2026-10-11T20:22Z): summary row lease release FAILED, lease lease_2db561ba… left active at v3. Released manually afterwards with the revoked carrier at its current version 2 → terminalState: released, leaseVersion: 4.

Fix

Move the lease-release block after the carrier revoke, and read the revoked carrier's current version from carrier_bindings instead of reusing $CVER. When the predecessor already released the lease (#477 path), the existing "already terminal" branch applies.

Activity

  1. github-actions commented on Oct 11, 2026

    @github-actions

    Authority: RESEARCH_OBSERVATION_ONLY / NO_ENGINEERING_AUTHORITY

    Hybrid replication capture receipt
    {
      "body_gzip_base64": "H4sIAAAAAAACA21T227bOBB911dMnUVrB5ZKyZKdGM0CW8cFAqTpImnToi8mJY1ibiXRJSknftun/YB+RD+sX7IjieoFzYshc8gz55w58+KJ78PV+sO7m83qzfV6s769OF9frdabd1cXt+vrm/USzFZEyXzJ5ovZSRKHsyIKk7QQSZggW+QLjFgaLVK2iFnMsvA0iRnGJwKLU4GMRVk+C2PE7BR8/0/v6Aj+1iotsfI8bjItd9Y8VzvzvEr8rLFqj/qnz8BsORiLO+AhE77GEoVBv/vlIMp7cTBQCFkauN9iDXaLsNOYY4bGKA1pI8ucAGRZAj3ao+muGCss+lopCx0UNPWAncNY1IdfQbBQGuEoXiwmS88LA7iwsBPGEBr3/UxoLVH7RNdIVcPojxX5NuIwbluJ3U6rvSh9KysEd2cK4SQAPsixqCtZ0x2nS+M/mNlHwV9ARLotCH3XVFhbIGiZC9vWxo0RdwiotdKTwIs6nrqpDRwf9xqOj3szQ0Y99uqTs8M1mZJdFviq//dS1rms724svQsc01WpyKFVP5vL9uRSZaJsGX9upCa4UYuHDyKzrkMOnc2uxQjGXKv7wNXOzs5CePoU2iOnkI7wYUfyqU//5rYvcJLkvUkN6j2Bktxz3MPrBFxSIMkYO0lZCt/++wInSTIrsgTGQ3UWn86jMBVTiFg090Pmh+HbiC2j6OOEAt5UldCHlgfwPhFOMbz66+Jyfc6nLih9dRPlaTInuG//fuVUKWggmZV7bEeznwVwPYSpEnUjyvIAoqAp3wudU1Kl3Xa+Dw45c9rHksaeNVp3o3UzjzpJfEjJTRve5UAwd8ycS0uIOflEW/ZKPnjeaxLfteqDNohKS5V96in9HABHaAqiprGhyB9j+ex3goVWFXBX36R9cAwHWVPaCEUVBNIYOgTeLQcP4P1j6yrKtuvhu7Yf1GHcrh9tnd1OptCHTNJeE+RoeDUYNIJUizrbtrtXSjSB9z8PrCjn5AQAAA==",
      "capture_sha256": "f2541959efb74df44169bd9bc3605c697bed46d6fa2d7e4490e6f99bc1a1cda7",
      "captured_at": "2026-10-11T20:25:23Z",
      "contract_sha256": "5c83c87c3be595ada6fcd5a45b76d9d6707a4e3af62869675e7d2aafa3c2aaef",
      "created_at": "2026-10-11T20:25:15Z",
      "default_branch": "main",
      "issue_number": 505,
      "issue_updated_at": "2026-10-11T20:25:15Z",
      "pre_implementation_revision": "8553fc59a5673ff8d3f41f454aa264b9bcdd5897",
      "repository": "James3014/devspace",
      "schema": "nexus.hybrid_replication.capture.v1",
      "source_event_id": "actions:38172136235:1",
      "title": "m5-cutover.sh: terminal lease release uses wrong carrier version and runs before revoke"
    }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions