@earth-app/collegedb
    Preparing search index...

    Function recoverMigrations

    • Resumes every unfinished move recorded in the journal.

      A crash can stop a move at any step. This reads each active claim, decides what the move already did from the shards and the journal, and finishes it or aborts it, per the rules in docs/migration-protocol.md. A move that cannot be resolved is reported in failed and left for an operator. Run it on a timer, or after a deploy that may have interrupted a move. One recovery runs per journal scope at a time, on any number of isolates: it takes a lease in the journal, and a second call while the lease is live throws RECOVERY_IN_PROGRESS, which a timer can treat as success.

      Parameters

      • options: { olderThanMs?: number } = {}

        olderThanMs leaves alone moves that changed more recently than that

      Returns Promise<RecoveryReport>

      What happened to each active claim

      JOURNAL_NOT_CONFIGURED with several shards and no journalShard; RECOVERY_IN_PROGRESS when another recovery holds the lease; RECOVERY_FENCED when this one lost the lease mid-run; JOURNAL_UNAVAILABLE when the journal cannot be read

      1.4.0

      const report = await recoverMigrations();
      if (report.failed.length > 0) {
      console.error('moves needing attention', report.failed);
      }