From 41538e6ff76add2877cc972ec462b4b7ffc07707 Mon Sep 17 00:00:00 2001 From: Sergey Avseyev Date: Tue, 27 Jun 2023 20:30:14 +0300 Subject: [PATCH] add clarification on how KV engine deduplicates config payloads --- rfc/0075-faster-failover-and-configuration-push.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/rfc/0075-faster-failover-and-configuration-push.md b/rfc/0075-faster-failover-and-configuration-push.md index 1eb5b64..3818769 100644 --- a/rfc/0075-faster-failover-and-configuration-push.md +++ b/rfc/0075-faster-failover-and-configuration-push.md @@ -109,10 +109,15 @@ The KV engine updates the pushed configuration version in the following cases: * Configuration sent to the SDK in response to a `GetClusterConfig` (`0xb5`) request. * Configuration pushed to the SDK that enabled the HELLO flag `ClustermapChangeNotification` (`0x0d`). -Note, that `DedupeNotMyVbucketClustermap` affects `ClustermapChangeNotification` and `ClustermapChangeNotificationBrief` +NOTE: `DedupeNotMyVbucketClustermap` affects `ClustermapChangeNotification` and `ClustermapChangeNotificationBrief` features, that described below. In other words, if deduplication enabled, the cluster configuration will be announce for the socket connection only once. +NOTE: KV engine does not inspect the body of the configuration, it only looks at `epoch`/`revision` pair to detect +duplicates (decide if the SDK seen the update). It means, that SDK still might receive updates that do not change +VBucket map or topology (number, order or names of the nodes). It is up to the SDK to decide if the configuration +affects the sockets or pipeline configuration, which must be already implemented for older generation of the servers. + ### Enforcing Snappy Compression for Cluster Configuration Payloads [https://review.couchbase.org/c/kv_engine/+/192152]: #