Skip to content

Commit 707a0a2

Browse files
authored
fix: resolve deadlock when fetching everyone group for in-memory db (#9277)
1 parent e845dea commit 707a0a2

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

coderd/database/dbfake/dbfake.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -626,7 +626,7 @@ func uniqueSortedUUIDs(uuids []uuid.UUID) []uuid.UUID {
626626
return unique
627627
}
628628

629-
func (q *FakeQuerier) getOrganizationMember(orgID uuid.UUID) []database.OrganizationMember {
629+
func (q *FakeQuerier) getOrganizationMemberNoLock(orgID uuid.UUID) []database.OrganizationMember {
630630
var members []database.OrganizationMember
631631
for _, member := range q.organizationMembers {
632632
if member.OrganizationID == orgID {
@@ -637,14 +637,14 @@ func (q *FakeQuerier) getOrganizationMember(orgID uuid.UUID) []database.Organiza
637637
return members
638638
}
639639

640-
// getEveryoneGroupMembers fetches all the users in an organization.
641-
func (q *FakeQuerier) getEveryoneGroupMembers(orgID uuid.UUID) []database.User {
640+
// getEveryoneGroupMembersNoLock fetches all the users in an organization.
641+
func (q *FakeQuerier) getEveryoneGroupMembersNoLock(orgID uuid.UUID) []database.User {
642642
var (
643643
everyone []database.User
644-
orgMembers = q.getOrganizationMember(orgID)
644+
orgMembers = q.getOrganizationMemberNoLock(orgID)
645645
)
646646
for _, member := range orgMembers {
647-
user, err := q.GetUserByID(context.TODO(), member.UserID)
647+
user, err := q.getUserByIDNoLock(member.UserID)
648648
if err != nil {
649649
return nil
650650
}
@@ -1434,7 +1434,7 @@ func (q *FakeQuerier) GetGroupMembers(_ context.Context, id uuid.UUID) ([]databa
14341434
defer q.mutex.RUnlock()
14351435

14361436
if q.isEveryoneGroup(id) {
1437-
return q.getEveryoneGroupMembers(id), nil
1437+
return q.getEveryoneGroupMembersNoLock(id), nil
14381438
}
14391439

14401440
var members []database.GroupMember

0 commit comments

Comments
 (0)