Skip to content
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

OperationCanceledException from Microsoft.Azure.SignalR.ServiceConnection when app restarts #1777

Open
vicancy opened this issue Apr 6, 2023 · 3 comments

Comments

@vicancy
Copy link
Member

vicancy commented Apr 6, 2023

Describe the bug

Facing OperationCanceledException from Microsoft.Azure.SignalR.ServiceConnection specially during every deployment or webapp restart or sometimes we have seen this exception coming even when deployment or restart is not done.

And further there are 2 subtypes :

  1. Error while skipping handshake response
  2. Error while processing messages

The operation was canceled.

Exception:
System.OperationCanceledException: The operation was canceled.
at System.Threading.CancellationToken.ThrowOperationCanceledException()
at System.IO.Pipelines.Pipe.GetReadAsyncResult()
at System.IO.Pipelines.Pipe.DefaultPipeReader.GetResult(Int16 token)
at Microsoft.Azure.SignalR.ServiceConnection.SkipHandshakeResponse(ClientConnectionContext connection, CancellationToken token)

Solution

we can silently fail the connection instead of throwing out the exception

To Reproduce

Exceptions (if any)

Further technical details

  • Your Azure SignalR SDK version
  • Your Server ASPNETCORE version or Assembly version of Microsoft.AspNetCore.SignalR
  • Your SignalR Client SDK version
@bodamgaard
Copy link

Experiencing this too :-) Anyone knows how to handle this gracefully? When we deploy (rolling deployments), we'll get this exception in our log for each connection, which tends to get a bit too spammy.

@vicancy
Copy link
Member Author

vicancy commented Nov 19, 2024

Experiencing this too :-) Anyone knows how to handle this gracefully? When we deploy (rolling deployments), we'll get this exception in our log for each connection, which tends to get a bit too spammy.

Hi @bodamgaard could you share the callstack? are you using the latest SDK? I'd like to double confirm the latest exception thrown.

@bodamgaard
Copy link

bodamgaard commented Nov 19, 2024

Experiencing this too :-) Anyone knows how to handle this gracefully? When we deploy (rolling deployments), we'll get this exception in our log for each connection, which tends to get a bit too spammy.

Hi @bodamgaard could you share the callstack? are you using the latest SDK? I'd like to double confirm the latest exception thrown.

Sure, this is the exception that I have in our log. Very limited callstack ;-) :

System.OperationCanceledException: The operation was canceled.
   at System.Threading.CancellationToken.ThrowOperationCanceledException()
   at System.IO.Pipelines.Pipe.GetReadAsyncResult()
   at Microsoft.Azure.SignalR.ClientConnectionContext.ProcessOutgoingMessagesAsync(IHubProtocol protocol)

Source context: Microsoft.Azure.SignalR.ServiceConnection
Message template: Error while processing messages from {TransportConnectionId}.

Using this version of Microsoft.Azure.SignalR:
<PackageReference Include="Microsoft.Azure.SignalR" Version="1.28.0" />

Hope that is useful :-)

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

No branches or pull requests

2 participants