Skip to content

Improve SignalR Redis server disconnection handling - #68162

Open
4bitsteams wants to merge 13 commits into
dotnet:mainfrom
4bitsteams:feature/signalr-redis-disconnection-handling
Open

Improve SignalR Redis server disconnection handling#68162
4bitsteams wants to merge 13 commits into
dotnet:mainfrom
4bitsteams:feature/signalr-redis-disconnection-handling

Conversation

@4bitsteams

Copy link
Copy Markdown

Summary

Enhance SignalR Redis transport to gracefully handle server disconnections and improve reliability.

  • Improved handling of Redis server disconnection scenarios
  • Better error recovery and reconnection logic
  • Enhanced test coverage for disconnection edge cases

Test plan

  • Run SignalR Redis integration tests
  • Verify disconnection scenarios are handled gracefully
  • Test reconnection behavior after server restart

Elfocrash and others added 13 commits May 12, 2022 12:21
Co-authored-by: Weihan Li <weihanli@outlook.com>
Upgrade gradle-wrapper.properties to use a more recent version of Gradle
to improve build performance and compatibility with modern Java tooling.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Complete the OpenAPI dotnet-openapi tool by registering the AddProjectCommand that was previously implemented but not wired up. This enables users to add OpenAPI references from project files.
Use the more accurate UrlDecoder for URL form data decoding instead of Uri.UnescapeDataString which has known limitations with UTF-8 sequences and cross-platform behavior differences.
Implement error handling for Redis connection failures in cache retrieval operations. This addresses TODO comments and improves error diagnostics.
Update Gradle wrapper from 6.5 to 8.9 for SignalR Java client
Re-enable 21 previously quarantined tests in Redis caching. Tests verify critical cache functionality including expiration handling and set/remove operations.
Enhance error handling and documentation for server disconnection scenarios:

1. Clarify comment about remote server disconnection handling during
   cross-server invocations. When a connection is on another server,
   the system publishes the invocation and waits for a response. If the
   remote server becomes unavailable, this operation may timeout.

2. Improve connection abort callback to provide clearer error message
   when connection is prematurely disconnected. Replace generic "Connection
   disconnected" with "Connection disconnected before result received" to
   better communicate the specific scenario.

These changes improve observability and make disconnection scenarios
more explicit for debugging distributed SignalR deployments.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
- GPG Key ID: 4C5E6AF9415EC46C
- Email: rubelislam301@gmail.com
- Auto-signing: Enabled
- Ready for: GitHub integration + Vigilant mode

Next: Add public key to GitHub and enable Vigilant Mode
@dotnet-policy-service dotnet-policy-service Bot added the community-contribution Indicates that the PR has been added by a community member label Aug 2, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Thanks for your PR, @4bitsteams. Someone from the team will get assigned to your PR shortly and we'll get it reviewed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community-contribution Indicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants