mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
tests: Fix cluster version and downgrade request timeout
Returning nil means that raft.Trigger was not called, causing member to wait infinitly for response for response on raft request.
This commit is contained in:
parent
bcadd039a1
commit
3de5e221a8
@ -148,15 +148,15 @@ func (a *applierV3backend) Apply(r *pb.InternalRaftRequest, shouldApplyV3 member
|
||||
case r.ClusterVersionSet != nil: // Implemented in 3.5.x
|
||||
op = "ClusterVersionSet"
|
||||
a.s.applyV3Internal.ClusterVersionSet(r.ClusterVersionSet, shouldApplyV3)
|
||||
return nil
|
||||
return ar
|
||||
case r.ClusterMemberAttrSet != nil:
|
||||
op = "ClusterMemberAttrSet" // Implemented in 3.5.x
|
||||
a.s.applyV3Internal.ClusterMemberAttrSet(r.ClusterMemberAttrSet, shouldApplyV3)
|
||||
return nil
|
||||
return ar
|
||||
case r.DowngradeInfoSet != nil:
|
||||
op = "DowngradeInfoSet" // Implemented in 3.5.x
|
||||
a.s.applyV3Internal.DowngradeInfoSet(r.DowngradeInfoSet, shouldApplyV3)
|
||||
return nil
|
||||
return ar
|
||||
}
|
||||
|
||||
if !shouldApplyV3 {
|
||||
|
@ -64,7 +64,7 @@ func (m *Manager) DowngradeEnable(ctx context.Context, targetVersion *semver.Ver
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return m.s.DowngradeEnable(context.Background(), targetVersion)
|
||||
return m.s.DowngradeEnable(ctx, targetVersion)
|
||||
}
|
||||
|
||||
// DowngradeCancel cancels ongoing downgrade process.
|
||||
|
@ -46,17 +46,17 @@ func TestDowngradeUpgrade(t *testing.T) {
|
||||
validateVersion(t, epc, version.Versions{Cluster: currentVersionStr, Server: currentVersionStr})
|
||||
|
||||
downgradeEnable(t, epc, lastVersion)
|
||||
expectLog(t, epc, "The server is ready to downgrade")
|
||||
validateVersion(t, epc, version.Versions{Cluster: lastVersionStr, Server: currentVersionStr})
|
||||
|
||||
stopEtcd(t, epc)
|
||||
epc = startEtcd(t, lastReleaseBinary, dataDirPath)
|
||||
validateVersion(t, epc, version.Versions{Cluster: lastVersionStr, Server: lastVersionStr})
|
||||
expectLog(t, epc, "the cluster has been downgraded")
|
||||
validateVersion(t, epc, version.Versions{Cluster: lastVersionStr, Server: lastVersionStr})
|
||||
|
||||
stopEtcd(t, epc)
|
||||
epc = startEtcd(t, currentEtcdBinary, dataDirPath)
|
||||
// TODO: Verify cluster version after upgrade when we fix cluster version set timeout
|
||||
validateVersion(t, epc, version.Versions{Server: currentVersionStr})
|
||||
validateVersion(t, epc, version.Versions{Cluster: currentVersionStr, Server: currentVersionStr})
|
||||
}
|
||||
|
||||
func startEtcd(t *testing.T, execPath, dataDirPath string) *e2e.EtcdProcessCluster {
|
||||
@ -100,11 +100,12 @@ func downgradeEnable(t *testing.T, epc *e2e.EtcdProcessCluster, ver semver.Versi
|
||||
}
|
||||
defer c.Close()
|
||||
ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
|
||||
// TODO: Fix request always timing out even thou it succeeds
|
||||
c.Downgrade(ctx, 1, ver.String())
|
||||
_, err = c.Downgrade(ctx, 1, ver.String())
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
cancel()
|
||||
|
||||
expectLog(t, epc, "The server is ready to downgrade")
|
||||
}
|
||||
|
||||
func stopEtcd(t *testing.T, epc *e2e.EtcdProcessCluster) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user