From a18a80c5a0cbdf42f53c22121600f0e40a74f53f Mon Sep 17 00:00:00 2001 From: Siyuan Zhang <10984162+siyuanfoundation@users.noreply.github.com> Date: Wed, 14 Feb 2024 09:03:53 -0800 Subject: [PATCH] Update etcdserver/api/membership/cluster.go Co-authored-by: Benjamin Wang --- etcdserver/api/membership/cluster.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/etcdserver/api/membership/cluster.go b/etcdserver/api/membership/cluster.go index d0aeb53ff2cb..788217f0cbcf 100644 --- a/etcdserver/api/membership/cluster.go +++ b/etcdserver/api/membership/cluster.go @@ -814,7 +814,10 @@ func detectDowngrade(cv *semver.Version, nextClusterVersionCompatible bool) erro if !lv.LessThan(*cv) { return nil } - // allow 3.4 server to join 3.5 cluster version, since the data is compatible after `etcdutil migrate` the data_dir. + // allow 3.4 server to join 3.5 cluster. Note the local data schema will + // be automatically migrated to 3.4 if `--next-cluster-version-compatible` + // is enabled (true). Users can also execute `etcdutl migrate` to migrate + // the data before starting the server. oneMinorVersionDown := &semver.Version{Major: cv.Major, Minor: cv.Minor - 1} if !nextClusterVersionCompatible || !lv.Equal(*oneMinorVersionDown) { return fmt.Errorf("invalid downgrade; (current version: %s is lower than determined cluster version: %s).", version.Version, version.Cluster(cv.String()))