Done
Details
Priority
HighAssignee
Julien AlieJulien AlieReporter
Julien AlieJulien AlieApprovers
Pascal CrausazFix versions
Sprint
NoneStory Points
3Labels
Details
Details
Priority
Assignee
Julien Alie
Julien AlieReporter
Julien Alie
Julien AlieApprovers
Pascal Crausaz
Fix versions
Sprint
None
Story Points
3
Labels
Zendesk Support
Zendesk Support
Zendesk Support
Created January 5, 2024 at 4:41 PM
Updated January 10, 2024 at 7:17 PM
Resolved January 5, 2024 at 5:13 PM
When calling API to list call permissions on a stack with many (> 1000) users and groups
then wazo-confd runs out of memory and gets killed by system with OOM error.
Technical explanation:
The joins in the call permission listing query produce a cartesian product between users, groups and extensions. When a stack with thousands of users, groups and/or extensions are in a call permission, millions of rows are returned, crashing the service.
The fix:
A modification to the relationship loading strategy prevents creating this cartesian product and prevents
It is fixed by changing from
joinedload
toselectinload
While this fixes the issue with the cartesian product, the only side effect of this change is a higher number of queries sent to postgres for the call permission. This increase of queries should have no noticeable effect of postgres (cpu+ram)