You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In this situation, the client will still consider this a valid candidate node, and will load it into the connection managers ->nodes member during revealClusterFromHello()/revealNodeFromHello(). From there, it may be selected by the priorityStrategy and put into use (because even though it doesn't have a host, it does have a low priority), causing an error.
Instead, we should filter out HELLO responses that don't have a host set (we wouldn't be able to connect to them anyway)
The text was updated successfully, but these errors were encountered:
revealNodeFromHello will defer to an existing node instance
if you directly connect to the node with no host in the HELLO, you would have done so via Credentials, and the node would have been created through findAvailableConnection() -> createNode(), so should have the correct details
I think we're being saved by the fact you shouldn't be able to see a non-host HELLO response for any node but the one you originally connected to.
It's not well documented, but the HELLO response is not expected to always reply with an IP address for every node.
Specifically:
In this case, the Disque server does not have an IP address yet (even if you use the
bind
option), and the HELLO response looks like this:In this situation, the client will still consider this a valid candidate node, and will load it into the connection managers
->nodes
member duringrevealClusterFromHello()
/revealNodeFromHello()
. From there, it may be selected by thepriorityStrategy
and put into use (because even though it doesn't have a host, it does have a low priority), causing an error.Instead, we should filter out HELLO responses that don't have a host set (we wouldn't be able to connect to them anyway)
The text was updated successfully, but these errors were encountered: