Skip to content

Panic if InitiateHeartbeat exhausts retries to avoid looping infinitely#13

Merged
grodowski merged 1 commit intomasterfrom
grodowski/panic-on-write-changelog-retries-exhausted
Jul 11, 2025
Merged

Panic if InitiateHeartbeat exhausts retries to avoid looping infinitely#13
grodowski merged 1 commit intomasterfrom
grodowski/panic-on-write-changelog-retries-exhausted

Conversation

@grodowski
Copy link
Member

@grodowski grodowski commented Jul 9, 2025

Based on experience, if the writer database fails inbeetween the copy & cutover stages (e.g. during cutover pause), the heartbeat writes will fail and stop, then leading to throttled state and an infinite loop of throttler.shouldThrottle().

Since this state is irrecoverable, make the heartbeat writer panic if retries are exhausted, so that the migration can fail and be restarted later.

More details from the investigation can be found in the associated issues:

Based on experience, if the writer database fails inbeetween the copy & cutover stages (e.g. during cutover pause), the heartbeat writes will fail and stop,
then leading to throttled state and an infinite loop of throttler.shouldThrottle().

Since this state is irrecoverable, make the heartbeat writer panic if retries are exhausted, so that the migration can fail and be restarted later.
@grodowski grodowski merged commit 0142c5c into master Jul 11, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants