From 3b3243bbb9f5c8165d704217bd77bd3630b358bc Mon Sep 17 00:00:00 2001 From: Gang Li Date: Wed, 5 Feb 2025 18:32:09 +0000 Subject: [PATCH] increase timeout for MemberDowngradeUpgrade test Signed-off-by: Gang Li --- tests/robustness/failpoint/cluster.go | 4 ++++ tests/robustness/failpoint/failpoint.go | 10 +++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/tests/robustness/failpoint/cluster.go b/tests/robustness/failpoint/cluster.go index 1b427a30672..780e0c00635 100644 --- a/tests/robustness/failpoint/cluster.go +++ b/tests/robustness/failpoint/cluster.go @@ -261,6 +261,10 @@ func (f memberDowngradeUpgrade) Available(config e2e.EtcdProcessClusterConfig, m return v.Compare(v3_6) >= 0 && (config.Version == e2e.CurrentVersion && member.Config().ExecPath == e2e.BinPath.Etcd) } +func (f memberDowngradeUpgrade) Timeout() time.Duration { + return 120 * time.Second +} + func getID(ctx context.Context, cc *clientv3.Client, name string) (id uint64, found bool, err error) { // Ensure linearized MemberList by first making a linearized Get request from the same member. // This is required for v3.4 support as it doesn't support linearized MemberList https://github.com/etcd-io/etcd/issues/18929 diff --git a/tests/robustness/failpoint/failpoint.go b/tests/robustness/failpoint/failpoint.go index 6522b6942da..4aef09ca406 100644 --- a/tests/robustness/failpoint/failpoint.go +++ b/tests/robustness/failpoint/failpoint.go @@ -80,7 +80,11 @@ func Validate(clus *e2e.EtcdProcessCluster, failpoint Failpoint, profile traffic } func Inject(ctx context.Context, t *testing.T, lg *zap.Logger, clus *e2e.EtcdProcessCluster, failpoint Failpoint, baseTime time.Time, ids identity.Provider) (*report.FailpointReport, error) { - ctx, cancel := context.WithTimeout(ctx, triggerTimeout) + timeout := triggerTimeout + if timeoutObj, ok := failpoint.(TimeoutInterface); ok { + timeout = timeoutObj.Timeout() + } + ctx, cancel := context.WithTimeout(ctx, timeout) defer cancel() var err error @@ -147,3 +151,7 @@ type Failpoint interface { type AvailabilityChecker interface { Available(e2e.EtcdProcessClusterConfig, e2e.EtcdProcess, traffic.Profile) bool } + +type TimeoutInterface interface { + Timeout() time.Duration +}