From 759f9b8424e157a17385ebfd39f03bad8cb22977 Mon Sep 17 00:00:00 2001 From: Sascha Schwarze Date: Thu, 4 Jun 2020 16:26:23 +0200 Subject: [PATCH] Improve retry logic (#250) --- test/e2e/validators.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/e2e/validators.go b/test/e2e/validators.go index 01d3114939..cbf74765d7 100644 --- a/test/e2e/validators.go +++ b/test/e2e/validators.go @@ -56,8 +56,11 @@ func clientGet(key types.NamespacedName, obj runtime.Object) error { return wait.PollImmediate(4*time.Second, 60*time.Second, func() (bool, error) { if err := f.Client.Get(goctx.TODO(), key, obj); err != nil { // check if we have an error that we want to retry - if apierrors.IsServerTimeout(err) || apierrors.IsTimeout(err) || apierrors.IsTooManyRequests(err) { + if apierrors.IsServerTimeout(err) || apierrors.IsTimeout(err) || apierrors.IsTooManyRequests(err) || err.Error() == "etcdserver: request timed out" { + Logf("Error during client get is retried: '%s'", err.Error()) return false, nil + } else { + Logf("Error during client get is not retried: '%s'", err.Error()) } // return all other errors directly