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
- move the "ignore handshake nodes" logic deeper into the client, so external callers can still fetch the value
- add new IgnoreFromClient internal member for ^^^, and use
- support "handshake" etc in the in-proc test server
- support "only initially connect to default node" in the in-proc test server
- add a unit test that handshake nodes are ignored
// Be resilient to "handshake" nodes, which are nodes that are in the process of joining the cluster and hence might not have all information available yet.
185
-
// These nodes will be included in the configuration once they finish the handshake process and are fully part of the cluster, so we can safely ignore them for now.
186
-
if(node.IsHandshake)
187
-
continue;
188
-
189
184
// Override the origin value with the endpoint advertised with the target node to
190
185
// make sure that things like clusterConfiguration[clusterConfiguration.Origin]
191
186
// will work as expected.
@@ -431,6 +426,10 @@ public IList<ClusterNode> Children
431
426
/// </summary>
432
427
publicIList<SlotRange>Slots{get;}
433
428
429
+
// Be resilient to "handshake" nodes, which are nodes that are in the process of joining the cluster and hence might not have all information available yet.
430
+
// These nodes will be included in the configuration once they finish the handshake process and are fully part of the cluster, so we can safely ignore them for now.
431
+
internalboolIgnoreFromClient=>IsHandshake;// possibly also noaddr?
432
+
434
433
/// <summary>
435
434
/// Compares the current instance with another object of the same type and returns an integer that indicates
436
435
/// whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.
varclusterEndpoints=newEndPointCollection(clusterConfig.Nodes.Where(node =>node.EndPointis not null).Select(node =>node.EndPoint!).ToList());
1763
+
varclusterEndpoints=newEndPointCollection(clusterConfig.Nodes.Where(node =>node.EndPointis not null&&!node.IgnoreFromClient).Select(node =>node.EndPoint!).ToList());
1764
1764
// Loop through nodes in the cluster and update nodes relations to other nodes
0 commit comments