From 66aad9c0ecaca5f04d3f6629ccfda1205b8222e2 Mon Sep 17 00:00:00 2001 From: frikky Date: Tue, 8 Dec 2020 11:52:05 +0100 Subject: [PATCH] BUG: Fixed resource overload when getting workflows --- backend/go-app/main.go | 2 +- backend/go-app/walkoff.go | 21 +++++++++++++++++---- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/backend/go-app/main.go b/backend/go-app/main.go index 0d4832ba..9835af3d 100644 --- a/backend/go-app/main.go +++ b/backend/go-app/main.go @@ -4455,7 +4455,7 @@ func handleGetallHooks(resp http.ResponseWriter, request *http.Request) { var allhooks []Hook _, err = dbclient.GetAll(ctx, q, &allhooks) if err != nil { - log.Printf("Failed getting workflows for user %s: %s", user.Username, err) + log.Printf("Failed getting hooks for user %s: %s", user.Username, err) resp.WriteHeader(401) resp.Write([]byte(`{"success": false}`)) return diff --git a/backend/go-app/walkoff.go b/backend/go-app/walkoff.go index 9cbec873..6a17c0aa 100644 --- a/backend/go-app/walkoff.go +++ b/backend/go-app/walkoff.go @@ -1421,10 +1421,21 @@ func getWorkflows(resp http.ResponseWriter, request *http.Request) { var workflows []Workflow _, err = dbclient.GetAll(ctx, q, &workflows) if err != nil { - log.Printf("Failed getting workflows for user %s: %s", user.Username, err) - resp.WriteHeader(401) - resp.Write([]byte(`{"success": false}`)) - return + if strings.Contains(fmt.Sprintf("%s", err), "ResourceExhausted") { + q = q.Limit(35) + _, err = dbclient.GetAll(ctx, q, &workflows) + if err != nil { + log.Printf("Failed getting workflows for user %s: %s", user.Username, err) + resp.WriteHeader(401) + resp.Write([]byte(`{"success": false}`)) + return + } + } else { + log.Printf("Failed getting workflows for user %s: %s", user.Username, err) + resp.WriteHeader(401) + resp.Write([]byte(`{"success": false}`)) + return + } } if len(workflows) == 0 { @@ -5401,6 +5412,8 @@ func iterateWorkflowGithubFolders(fs billy.Filesystem, dir []os.FileInfo, extra workflow.Org = append(workflow.Org, Org{ Id: orgId, }) + workflow.IsValid = false + workflow.Errors = []string{"Imported, not locally saved. Save before using."} /* // Find existing similar ones