From b1c4f0c21637a191d7233937020edd203529eb62 Mon Sep 17 00:00:00 2001 From: kolaente Date: Thu, 19 Sep 2024 13:58:15 +0200 Subject: [PATCH] fix(typesense): only fail silently when a project was not found during indexing (cherry picked from commit b3bf92b7ce15576f41f4109c02dd2bc005a58575) --- pkg/models/listeners.go | 3 +++ pkg/models/typesense.go | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/pkg/models/listeners.go b/pkg/models/listeners.go index 7bdf8def7..68d542046 100644 --- a/pkg/models/listeners.go +++ b/pkg/models/listeners.go @@ -547,6 +547,9 @@ func (l *AddTaskToTypesense) Handle(msg *message.Message) (err error) { if err != nil { return err } + if ttask == nil { + return + } _, err = typesenseClient.Collection("tasks"). Documents(). diff --git a/pkg/models/typesense.go b/pkg/models/typesense.go index b64876b21..675282b9a 100644 --- a/pkg/models/typesense.go +++ b/pkg/models/typesense.go @@ -251,6 +251,9 @@ func getTypesenseTaskForTask(s *xorm.Session, task *Task, projectsCache map[int6 if projectsCache == nil { p, err = GetProjectSimpleByID(s, task.ProjectID) if err != nil { + if IsErrProjectDoesNotExist(err) { + return nil, nil + } return nil, fmt.Errorf("could not fetch project %d: %s", task.ProjectID, err.Error()) } } else { @@ -259,6 +262,9 @@ func getTypesenseTaskForTask(s *xorm.Session, task *Task, projectsCache map[int6 if !has { p, err = GetProjectSimpleByID(s, task.ProjectID) if err != nil { + if IsErrProjectDoesNotExist(err) { + return nil, nil + } return nil, fmt.Errorf("could not fetch project %d: %s", task.ProjectID, err.Error()) } projectsCache[task.ProjectID] = p @@ -305,6 +311,9 @@ func reindexTasksInTypesense(s *xorm.Session, tasks map[int64]*Task) (err error) if err != nil { return err } + if ttask == nil { + continue + } typesenseTasks = append(typesenseTasks, ttask) }