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

Cannot connect to IPv6 Redis server (SE.Redis 2.2.4) #2277

Closed
francoisminaud opened this issue Oct 19, 2022 · 9 comments
Closed

Cannot connect to IPv6 Redis server (SE.Redis 2.2.4) #2277

francoisminaud opened this issue Oct 19, 2022 · 9 comments

Comments

@francoisminaud
Copy link

Hello,
I am more on infra side than dev side so I'm not a .Net expert.

Here is the client version Microsoft.AspNetCore.SignalR.StackExchangeRedis Version="6.0.8".

Connection to Azure Redis Cache is mostly fine but connection to a standalone Linux Redis server will not work.

Before all I have to say that I could connect using the Linux redis client (redis-cli) : redis-cli -h xxx -a Test1234
I then set the connection string to cbredis01,password=Test1234,ssl=False,abortConnect=False

Unfortunately the connection was not successful.

When enabling loglevel to trace, here is what I found. I also attached the redis.conf file in case there is something obvious that we're missing.

redis.txt

[17:39:52] dbug: Microsoft.AspNetCore.SignalR.Internal.DefaultHubProtocolResolver[2]
Found protocol implementation for requested protocol: json.
[17:39:52] dbug: Microsoft.AspNetCore.SignalR.Internal.DefaultHubProtocolResolver[2]
Found protocol implementation for requested protocol: json.
[17:39:52] dbug: Microsoft.AspNetCore.SignalR.Internal.DefaultHubProtocolResolver[2]
Found protocol implementation for requested protocol: messagepack.
[17:39:52] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
snc-cbredis01:6379,serviceName=snc-cbredis01,password=*****,ssl=False,abortConnect=False
[17:39:52] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
[17:39:52] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
Connecting snc-cbredis01:6379/Interactive...
[17:39:52] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
BeginConnect: snc-cbredis01:6379
[17:39:52] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
1 unique nodes specified
[17:39:52] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
Requesting tie-break from snc-cbredis01:6379 > __Booksleeve_TieBreak...
[17:39:52] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
Allowing endpoints 00:00:05 to respond...
[17:39:52] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
Awaiting task completion, IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=1,Free=32766,Min=1,Max=32767)
[17:39:52] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostUploaded' is bound.
[17:39:52] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostUpdated' is bound.
[17:39:52] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostContentUpdated' is bound.
[17:39:52] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostInkContentUpdated' is bound.
[17:39:52] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostPropertyUpdated' is bound.
[17:39:52] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostPingbackRequest' is bound.
[17:39:52] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'ServerToServerRequestPingback' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'ServerToServerRequestOnlineUserRemoval' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostLoginProject' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostLogoutProject' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostNew' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostDelete' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostDeleteProject' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostLock' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostDropped' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostUnDropped' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostTileReorder' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostContainerTypeypeUpdated' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostPinningActivity' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostTileRelationChanged' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostTileVotingChanged' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostProjectBackgroundChanged' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostProjectParticipantChanged' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostTileIndexesChanged' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostThumbnailCreationStarted' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostThumbnailCreationFinished' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostThumbnailCreationError' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostLowResThumbnailAvailable' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostThumbnailAvailable' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostTilesCopied' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostCopyProjectFailed' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostProjectCopyInitiated' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostProjectCopied' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostProjectCreated' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostScreenPosZoomChanged' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostUpdateNewJoinedInPresentation' is bound.
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
Finished awaiting tasks, IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=2,Free=32765,Min=1,Max=32767)
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostUpdateNewJoinedForTimer' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostThumbnailPageChanged' is bound.
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
snc-cbredis01:6379 faulted: UnableToConnect on snc-cbredis01:6379/Interactive, Initializing/NotStarted, last: NONE, origin: BeginConnectAsync, outstanding: 0, last-read: 0s ago, last-write: 0s ago, keep-alive: 60s, state: Connecting, mgr: 10 of 10 available, last-heartbeat: never, global: 0s ago, v: 2.0.593.37019
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostResponsiveImagesAvailable' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostProjectUnavailable' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostNotifyUserOfAvailableMessage' is bound.
[17:39:53] trce: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[9]
'NotificationHub' hub method 'PostTileBatchAction' is bound.
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
Waiting for tiebreakers...
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
All tasks are already complete
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
snc-cbredis01:6379 failed to nominate (Faulted)
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
> UnableToConnect on snc-cbredis01:6379/Interactive, Initializing/NotStarted, last: NONE, origin: BeginConnectAsync, outstanding: 0, last-read: 0s ago, last-write: 0s ago, keep-alive: 60s, state: Connecting, mgr: 10 of 10 available, last-heartbeat: never, global: 0s ago, v: 2.0.593.37019
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
No masters detected
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
snc-cbredis01:6379: Standalone v2.0.0, master; keep-alive: 00:01:00; int: Connecting; sub: Connecting; not in use: DidNotRespond
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
snc-cbredis01:6379: int ops=0, qu=0, qs=0, qc=0, wr=0, socks=2; sub ops=0, qu=0, qs=0, qc=0, wr=0, socks=1
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
Circular op-count snapshot; int: 0 (0.00 ops/s; spans 10s); sub: 0 (0.00 ops/s; spans 10s)
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
Sync timeouts: 0; async timeouts: 0; fire and forget: 0; last heartbeat: -1s ago
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
resetting failing connections to retry...
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
retrying; attempts left: 2...
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
1 unique nodes specified
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
Requesting tie-break from snc-cbredis01:6379 > __Booksleeve_TieBreak...
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
Allowing endpoints 00:00:05 to respond...
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
Awaiting task completion, IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=2,Free=32765,Min=1,Max=32767)
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
connection failed: snc-cbredis01:6379 (Interactive, UnableToConnect): UnableToConnect on snc-cbredis01:6379/Interactive, Initializing/NotStarted, last: NONE, origin: BeginConnectAsync, outstanding: 0, last-read: 0s ago, last-write: 0s ago, keep-alive: 60s, state: Connecting, mgr: 10 of 10 available, last-heartbeat: never, global: 0s ago, v: 2.0.593.37019
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
connection failed: snc-cbredis01:6379 (Subscription, UnableToConnect): UnableToConnect on snc-cbredis01:6379/Subscription, Initializing/NotStarted, last: NONE, origin: BeginConnectAsync, outstanding: 0, last-read: 0s ago, last-write: 0s ago, keep-alive: 60s, state: Connecting, mgr: 10 of 10 available, last-heartbeat: never, global: 0s ago, v: 2.0.593.37019
[17:39:53] info: Microsoft.Hosting.Lifetime[14]
Now listening on: http://[::]:8080
[17:39:53] dbug: Microsoft.AspNetCore.Hosting.Diagnostics[13]
Loaded hosting startup assembly IBV.CL.RealTimeWeb
[17:39:53] trce: Microsoft.AspNetCore.Http.Connections.Internal.HttpConnectionManager[9]
Starting connection heartbeat.
[17:39:53] info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
[17:39:53] info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Container
[17:39:53] info: Microsoft.Hosting.Lifetime[0]
Content root path: /app
[17:39:53] dbug: Microsoft.Extensions.Hosting.Internal.Host[2]
Hosting started
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
Finished awaiting tasks, IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=2,Free=32765,Min=1,Max=32767)
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
snc-cbredis01:6379 faulted: UnableToConnect on snc-cbredis01:6379/Interactive, Initializing/NotStarted, last: NONE, origin: BeginConnectAsync, outstanding: 0, last-read: 0s ago, last-write: 0s ago, keep-alive: 60s, state: Connecting, mgr: 10 of 10 available, last-heartbeat: never, global: 0s ago, v: 2.0.593.37019
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
Waiting for tiebreakers...
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
All tasks are already complete
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
snc-cbredis01:6379 failed to nominate (Faulted)
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
> UnableToConnect on snc-cbredis01:6379/Interactive, Initializing/NotStarted, last: NONE, origin: BeginConnectAsync, outstanding: 0, last-read: 0s ago, last-write: 0s ago, keep-alive: 60s, state: Connecting, mgr: 10 of 10 available, last-heartbeat: never, global: 0s ago, v: 2.0.593.37019
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
No masters detected
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
snc-cbredis01:6379: Standalone v2.0.0, master; keep-alive: 00:01:00; int: Disconnected; sub: Connecting; not in use: DidNotRespond
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
snc-cbredis01:6379: int ops=0, qu=0, qs=0, qc=0, wr=0, socks=2; sub ops=0, qu=0, qs=0, qc=0, wr=0, socks=2
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
Circular op-count snapshot; int: 0 (0.00 ops/s; spans 10s); sub: 0 (0.00 ops/s; spans 10s)
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
Sync timeouts: 0; async timeouts: 0; fire and forget: 0; last heartbeat: -1s ago
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
resetting failing connections to retry...
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
retrying; attempts left: 1...
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
1 unique nodes specified
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
Requesting tie-break from snc-cbredis01:6379 > __Booksleeve_TieBreak...
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
Allowing endpoints 00:00:05 to respond...
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
Awaiting task completion, IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=2,Free=32765,Min=1,Max=32767)
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
Finished awaiting tasks, IOCP: (Busy=0,Free=1000,Min=1,Max=1000), WORKER: (Busy=1,Free=32766,Min=1,Max=32767)
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
snc-cbredis01:6379 faulted: UnableToConnect on snc-cbredis01:6379/Interactive, Initializing/NotStarted, last: NONE, origin: BeginConnectAsync, outstanding: 0, last-read: 0s ago, last-write: 0s ago, keep-alive: 60s, state: Connecting, mgr: 10 of 10 available, last-heartbeat: never, global: 0s ago, v: 2.0.593.37019
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
Waiting for tiebreakers...
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
All tasks are already complete
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
snc-cbredis01:6379 failed to nominate (Faulted)
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
> UnableToConnect on snc-cbredis01:6379/Interactive, Initializing/NotStarted, last: NONE, origin: BeginConnectAsync, outstanding: 0, last-read: 0s ago, last-write: 0s ago, keep-alive: 60s, state: Connecting, mgr: 10 of 10 available, last-heartbeat: never, global: 0s ago, v: 2.0.593.37019
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
No masters detected
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
snc-cbredis01:6379: Standalone v2.0.0, master; keep-alive: 00:01:00; int: Disconnected; sub: Disconnected; not in use: DidNotRespond
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
snc-cbredis01:6379: int ops=0, qu=0, qs=0, qc=0, wr=0, socks=3; sub ops=0, qu=0, qs=0, qc=0, wr=0, socks=2
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
Circular op-count snapshot; int: 0 (0.00 ops/s; spans 10s); sub: 0 (0.00 ops/s; spans 10s)
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
Sync timeouts: 0; async timeouts: 0; fire and forget: 0; last heartbeat: -1s ago
[17:39:53] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
Starting heartbeat...
[17:39:53] fail: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[7]
Not connected to Redis.\

We do not really know where to look, hope to get some pointers...

Thanks in advance for your help and let us know if some information is missing.

@mgravell
Copy link
Collaborator

mgravell commented Oct 19, 2022 via email

@francoisminaud
Copy link
Author

Thank you for the quick reply. Would you mind giving a pointer to where I can find such info?
I could only find the StackExchangeRedis Version="6.0.8" Package Reference.. It probably deserves a RFTM reply but I'm totally agnostic (so far).

@mgravell
Copy link
Collaborator

We're not at V6, so that isn't our version number. Maybe find the StackExchange.Redis DLL in your output folder and look at the file properties - it should say in there.

@francoisminaud
Copy link
Author

Indeed that was not your version.
6.0.8 is the version of the Microsoft.AspNetCore.SignalR.StackExchangeRedis package.
Had a look into the components of the package, the StackExchange.Redis version is 2.2.4

Seems to be quite far off the 2.6.70 package.

@mgravell
Copy link
Collaborator

mgravell commented Oct 20, 2022 via email

@francoisminaud
Copy link
Author

francoisminaud commented Oct 21, 2022

Thank you for your help. Seems like updating the SE.Redis package version is not an option (yet) until I can prove it is the client fault (as opposed to me :) )

Ok there is something I haven't disclosed that may be important.
While I try locally on IPv4 network the environment where this issue is reproduced is IPv6 only (that is Kubernetes).

Given 2 exact same redis-cluster bitnami charts installed:
helm install -n xxx redis bitnami/redis-cluster --set password="Test1234"

I enabled traces on both environments to compare:

Working (IPv4) environment:
redis_ipv4_ok.txt

[14:26:51] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
Connected Interactive/redis-redis-cluster:6379

Non working (IPv6) environment:
redis_ipv6_ko.txt

[16:35:28] dbug: Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager[100]
redis-redis-cluster:6379 faulted: UnableToConnect on redis-redis-cluster:6379/Interactive, Initializing/NotStarted, last: NONE, origin: BeginConnectAsync, outstanding: 0, last-read: 0s ago, last-write: 0s ago, keep-alive: 60s, state: Connecting, mgr: 10 of 10 available, last-heartbeat: never, global: 0s ago, v: 2.0.593.37019\

Is there anything special with IPv6 environment?
I can see such package here : https://www.nuget.org/packages/StackExchange.Redis.IPv6
Could it be related to GoogleCloudPlatform/microservices-demo#599 ?

Also is there some docker image of a client using SE.Redis that I could load in IPv6 environment to make sure it can work and try with various settings? That would speed up our debugging.

@NickCraver
Copy link
Collaborator

The best guess here is a networking/configuration issue, none of which are going to be a client issue.

If you want more assistance, we recommend updating the package as the version you're using is over 3.5 years old and has many enhancements including better logging around connections. It's simply not practical for us to debug old versions forever when upgrading is an expected path and we maintain a very high combability bar to make sure it's easy for people to do with minimal friction.

We're not trying to be difficult, but please understand we entirely rewrote the connection pipe to solve many issues. Debugging before that isn't helping anyone, because no fixes will ever be released for the old versions - the path is to use a current version of the library with the better connection logic and logging.

@francoisminaud
Copy link
Author

I have a good news and a bad news.
The good news is that I could make it work in typing the IPv6 Server IP in the string (in square brackets) instead of typing the domain name which doesn't seem to work for IPv6.
The bad news is that because I could make it work then we will probably not update the package...

You're not being difficult, you make a lot of sense. I'd probably tell anyone using my software the same thing.
The problem would be why doesn't Microsoft.AspNetCore.SignalR.StackExchangeRedis maintainers don't update to a newer version, this makes no sense...

Thanks for your help, I hope it can help others who would read this later one.

@francoisminaud francoisminaud changed the title Cannot connect to Redis server Cannot connect to IPv6 Redis server (SE.Redis 2.2.4) Oct 23, 2022
@NickCraver
Copy link
Collaborator

The problem would be why doesn't Microsoft.AspNetCore.SignalR.StackExchangeRedis maintainers don't update to a newer version

For what it's worth, the way packaging works doesn't require them to - you can reference a newer version of any NuGet dependency that's compatible (most are) directly rather than getting it transitively to upgrade. e.g. you can use our latest library with their latest without any issues.

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

3 participants