Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
MB-51612: Ensure GetClusterConfig/NMVB sends config in mixed clusters
In a mixed version cluster, ns_server may set a cluster config with epoch -1. get_cluster_config_executor tries to fetch the current config, requesting anything "newer" than a default constructed config. Similarly, Cookie::sendNotMyVBucket will only send configs "newer" than any previously pushed config - or a default constucted config if none has been pushed. Unfortunately, a config with epoch -1 appears "older", and triggers dedupe intended to avoid re-sending configs if the client already has the current version. Thus, in a mixed cluster, GetClusterConfig and sendNotMyVBucket may erroneously consider the live config "older", and will refuse to send it to clients which need it. To resolve this, a default constructed config should start at epoch -1. With this, any valid config set (and validated) by SetClusterConfig will be "newer". Change-Id: I470fe247c98c0c5e0d68667ddd40abe9691d8032 Reviewed-on: https://review.couchbase.org/c/kv_engine/+/172962 Well-Formed: Restriction Checker Tested-by: Build Bot <build@couchbase.com> Reviewed-by: Dave Rigby <daver@couchbase.com>
- Loading branch information