Skip to content

[live-migration] Fix source resume hang when cancelled before blackout - #2871

Open
Harsh Rawat (rawahars) wants to merge 1 commit into
microsoft:mainfrom
rawahars:reuse-same-connection
Open

[live-migration] Fix source resume hang when cancelled before blackout#2871
Harsh Rawat (rawahars) wants to merge 1 commit into
microsoft:mainfrom
rawahars:reuse-same-connection

Conversation

@rawahars

Copy link
Copy Markdown
Contributor

On a source rollback, Resume unconditionally re-armed the log listener and re-accepted the guest GCS bridge, assuming a blackout had dropped them. When the migration is cancelled before blackout (e.g. cancel after PrepareAndExport), those connections are still live, so both accepts block until the GCS connection timeout. finalize(resume) then fails with DeadlineExceeded, leaving the session Cancelled and blocking cleanup.

We now track whether the bridge transport is still live and, on resume, reuse the existing bridge and log stream instead of re-accepting when it never dropped.

@rawahars
Harsh Rawat (rawahars) requested a review from a team as a code owner August 11, 2026 09:21
On a source rollback, Resume unconditionally re-armed the log listener and
re-accepted the guest GCS bridge, assuming a blackout had dropped them. When
the migration is cancelled before blackout (e.g. cancel after
PrepareAndExport), those connections are still live, so both accepts block
until the GCS connection timeout. finalize(resume) then fails with
DeadlineExceeded, leaving the session Cancelled and blocking cleanup.

We now track whether the bridge transport is still live and, on resume, reuse the
existing bridge and log stream instead of re-accepting when it never dropped.

Signed-off-by: Harsh Rawat <harshrawat@microsoft.com>
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.

1 participant