From 38684d1afd85f55451dd66b7a1ac5d020c313e2d Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Sun, 26 Feb 2023 21:16:10 +0000 Subject: [PATCH] chore: fetch templates by id without lock in dbfake See https://github.com/coder/coder/actions/runs/4276632002/jobs/7444857508 --- coderd/database/dbfake/databasefake.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/coderd/database/dbfake/databasefake.go b/coderd/database/dbfake/databasefake.go index 45cf402a98ac3..1b8047e825210 100644 --- a/coderd/database/dbfake/databasefake.go +++ b/coderd/database/dbfake/databasefake.go @@ -936,7 +936,7 @@ func (q *fakeQuerier) GetAuthorizedWorkspaces(ctx context.Context, arg database. } if arg.TemplateName != "" { - template, err := q.GetTemplateByID(ctx, workspace.TemplateID) + template, err := q.getTemplateByIDNoLock(ctx, workspace.TemplateID) if err == nil && !strings.EqualFold(arg.TemplateName, template.Name) { continue } @@ -1617,10 +1617,14 @@ func (q *fakeQuerier) ParameterValues(_ context.Context, arg database.ParameterV return parameterValues, nil } -func (q *fakeQuerier) GetTemplateByID(_ context.Context, id uuid.UUID) (database.Template, error) { +func (q *fakeQuerier) GetTemplateByID(ctx context.Context, id uuid.UUID) (database.Template, error) { q.mutex.RLock() defer q.mutex.RUnlock() + return q.getTemplateByIDNoLock(ctx, id) +} + +func (q *fakeQuerier) getTemplateByIDNoLock(_ context.Context, id uuid.UUID) (database.Template, error) { for _, template := range q.templates { if template.ID == id { return template, nil