From e13fd560a3a21f1b27dda067d3ecd444d6b71563 Mon Sep 17 00:00:00 2001 From: Seokho Son Date: Sat, 7 May 2022 15:47:28 +0900 Subject: [PATCH 1/2] Prevent API request rate limit --- src/core/mcis/utility.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/core/mcis/utility.go b/src/core/mcis/utility.go index e81edb577..0c546955b 100644 --- a/src/core/mcis/utility.go +++ b/src/core/mcis/utility.go @@ -617,6 +617,21 @@ func InspectResourcesOverview() (InspectResourceAllResult, error) { common.CBLog.Error(err) temp.SystemMessage = err.Error() } + // retry if request rateLimitExceeded occurs. (GCP has ratelimiting) + rateLimitMessage := "limit" + maxTrials := 5 + if strings.Contains(temp.SystemMessage, rateLimitMessage) { + for i := 0; i < maxTrials; i++ { + common.RandomSleep(30, 60) + inspectResult, err = InspectResources(k.ConfigName, common.StrVNet) + if err != nil { + common.CBLog.Error(err) + temp.SystemMessage = err.Error() + } else { + break + } + } + } temp.TumblebugOverview.VNet = inspectResult.ResourceOverview.OnTumblebug temp.CspTotalOverview.VNet = inspectResult.ResourceOverview.OnCspTotal From d11af313679cc69ce15b7704b3e37bccdf270746 Mon Sep 17 00:00:00 2001 From: Seokho Son Date: Sat, 7 May 2022 16:13:44 +0900 Subject: [PATCH 2/2] Fix message for rateLimitExceeded error --- src/core/mcis/utility.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/mcis/utility.go b/src/core/mcis/utility.go index 0c546955b..6a84ac497 100644 --- a/src/core/mcis/utility.go +++ b/src/core/mcis/utility.go @@ -622,12 +622,13 @@ func InspectResourcesOverview() (InspectResourceAllResult, error) { maxTrials := 5 if strings.Contains(temp.SystemMessage, rateLimitMessage) { for i := 0; i < maxTrials; i++ { - common.RandomSleep(30, 60) + common.RandomSleep(40, 80) inspectResult, err = InspectResources(k.ConfigName, common.StrVNet) if err != nil { common.CBLog.Error(err) temp.SystemMessage = err.Error() } else { + temp.SystemMessage = "" break } }