Skip to content

[Backport] StopAsync resets state on inactive connection (#20083) #23962

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 16, 2020

Conversation

BrennanConroy
Copy link
Member

Description

HubConnection could get into a permanently broken state if StopAsync was called when the connection was already stopped in some cases. The fix is managing the state correctly so StopAsync doesn't break the connection.

Customer Impact

Bug was reported by a customer in #18028.
Customers can run into difficulties when trying to write a reliable service that can restart the hub connection correctly.
The most reliable workaround is to entirely recreate the HubConnection instead of reusing it. This can be difficult because of how customers' code is organized.

Internal partner is also asking us to backport to fix issues they're seeing.

Regression?

Yes, new bug in 3.0+

Risk

Very low, simple fix with well understood problem and easily testable.

@BrennanConroy BrennanConroy added the area-signalr Includes: SignalR clients and servers label Jul 15, 2020
@BrennanConroy BrennanConroy added this to the 3.1.x milestone Jul 15, 2020
@BrennanConroy BrennanConroy requested a review from halter73 July 15, 2020 17:50
@BrennanConroy
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@BrennanConroy BrennanConroy added the Servicing-consider Shiproom approval is required for the issue label Jul 16, 2020
@ghost
Copy link

ghost commented Jul 16, 2020

Hello human! Please make sure you've included the Shiproom Template in a comment or (preferably) the PR description. Also, make sure this PR is not marked as a draft and is ready-to-merge.

@jamshedd jamshedd added Servicing-approved Shiproom has approved the issue and removed Servicing-consider Shiproom approval is required for the issue labels Jul 16, 2020
@jamshedd
Copy link
Member

Approved for 3.1.7.

@BrennanConroy BrennanConroy modified the milestones: 3.1.x, 3.1.7 Jul 16, 2020
@jamshedd jamshedd modified the milestone: 3.1.7 Jul 16, 2020
@jamshedd
Copy link
Member

@BrennanConroy, my apologies, looks like both of us were trying to update the milestone from 3.1.x to 3.1.7 at the same time and I stamped over your changes.

@wtgodbe
Copy link
Member

wtgodbe commented Jul 16, 2020

@BrennanConroy should I go ahead and merge?

@wtgodbe wtgodbe merged commit 9e63572 into release/3.1 Jul 16, 2020
@wtgodbe wtgodbe deleted the brecon/bpstop branch July 16, 2020 23:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-signalr Includes: SignalR clients and servers Servicing-approved Shiproom has approved the issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants