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
Copy file name to clipboardExpand all lines: docs/ReleaseNotes.md
+8-1Lines changed: 8 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,14 @@ Current package versions:
8
8
9
9
## Unreleased
10
10
11
-
- (none)
11
+
- none
12
+
13
+
## 2.12.8
14
+
15
+
- Add [`GCRA`](https://en.wikipedia.org/wiki/Generic_cell_rate_algorithm) support (and remove experimental flag on `VSIM`) ([#3041 by @mgravell](https://github.com/StackExchange/StackExchange.Redis/pull/3041))
16
+
- Add `IServer.GetProductVariant` to detect the product variant and version of the connected server, and use that internally
17
+
to enable multi-DB operations on Valkey clusters ([#3040 by @mgravell](https://github.com/StackExchange/StackExchange.Redis/pull/3040))
18
+
- Ignore cluster nodes with the `handshake` flag ([#3043 by @TimLovellSmith](https://github.com/StackExchange/StackExchange.Redis/pull/3043))
/// The handshake flag is set for nodes which are currently in the process of joining the cluster.
383
+
/// They might not be fully configured, node IDs and slot ranges are placeholder information, and endpoint details 'best guess'.
384
+
/// </summary>
385
+
publicboolIsHandshake{get;}
386
+
380
387
/// <summary>
381
388
/// Gets whether this node is a replica.
382
389
/// </summary>
@@ -417,6 +424,10 @@ public IList<ClusterNode> Children
417
424
/// </summary>
418
425
publicIList<SlotRange>Slots{get;}
419
426
427
+
// 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.
428
+
// 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.
429
+
internalboolIgnoreFromClient=>IsHandshake;// possibly also noaddr?
430
+
420
431
/// <summary>
421
432
/// Compares the current instance with another object of the same type and returns an integer that indicates
422
433
/// 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());
1762
+
varclusterEndpoints=newEndPointCollection(clusterConfig.Nodes.Where(node =>node.EndPointis not null&&!node.IgnoreFromClient).Select(node =>node.EndPoint!).ToList());
1763
1763
// Loop through nodes in the cluster and update nodes relations to other nodes
0 commit comments