Defect #3313
closedDisplaying role requests is very slow when assigning more than 1 role
100%
Description
Tested on 13.0.1
When assigning more than 1 role in the role request, rendering the role table is very slow. In my local installation, it is cca 10 seconds, in my local appliance it is more than 1 minute so it ends with a timeout.
I tried it for a user who already had 1 role, and assigned just the standard product roles (Helpdesk and Super admin) for the contract of the user.
Files
Updated by Peter Štrunc almost 2 years ago
- Status changed from New to Needs feedback
- Assignee changed from Peter Štrunc to Tomáš Doischer
- % Done changed from 0 to 80
The issue was caused by AccIdentityAccountPluggableRoleAssignmentDeduplicator, which did not check the nullability of input role assignments. This caused a search for AccIdentittyAccount with an empty filter, which always returned all accounts in the system. Accounts were then compared with each other, which took forever with n^2 complexity.
I added the check and also some debug logging in case this part of the code needs to be debugged in the future because it was painful without it.
PR: https://github.com/bcvsolutions/CzechIdMng/pull/370
@doischert could you check it out please?
Updated by Tomáš Doischer over 1 year ago
- Status changed from Needs feedback to Resolved
- Assignee changed from Tomáš Doischer to Peter Štrunc
- % Done changed from 80 to 100
LGTM, merged to develop.
Updated by Tomáš Doischer over 1 year ago
- Status changed from Resolved to Closed