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
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
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 infailedand 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 throwsRECOVERY_IN_PROGRESS, which a timer can treat as success.