Project

General

Profile

Actions

Defect #3313

closed

Displaying role requests is very slow when assigning more than 1 role

Added by Alena Peterová over 1 year ago. Updated over 1 year ago.

Status:
Closed
Priority:
High
Assignee:
Peter Štrunc
Category:
Roles
Target version:
Start date:
03/22/2023
Due date:
% Done:

100%

Estimated time:
Affected versions:
Owner:

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

slow_role_request_display.png (110 KB) slow_role_request_display.png Alena Peterová, 03/22/2023 03:05 PM
Actions #2

Updated by Peter Štrunc over 1 year ago

  • Assignee set to Peter Štrunc
Actions #3

Updated by Peter Štrunc over 1 year 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?

Actions #4

Updated by Tomáš Doischer over 1 year ago

  • Target version set to 13.0.3
Actions #5

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.

Actions #6

Updated by Tomáš Doischer over 1 year ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF