[OPENIDM-14837] When a user has a large number of assignments, every additional assignment added takes an increasing length of time to process Created: 01/Jun/20 Updated: 23/Jul/20 Resolved: 23/Jul/20
|Component/s:||Module - Relationships|
|Affects Version/s:||6.5.0, 7.0.0|
|Fix Version/s:||7.0.0, 18.104.22.168|
|Reporter:||Tom Wood||Assignee:||Chris Drake|
|Remaining Estimate:||Not Specified|
|Time Spent:||Not Specified|
|Original Estimate:||Not Specified|
|Attachments:||48871 - Scripts.zip|
|Sprint:||2020.08 - IDM, 2020.09 - IDM|
|Support Ticket IDs:|
When adding an role and assignment to a user who already has a significant number of roles and assignments in place, each role and assignment added takes a longer period of time to process and return a result to the end-user.
While addRoleMembers.sh is running, you will see the output from cURL for each entry being added:
This can be correlated with the logging output added above to see the volume of time spent within the defaultMapping.js script.
Within my testing:
In both cases above, the major time sink seems to be a loop around the script evaluation to perform the mergeWithTarget behaviour. This also occurs with replaceTarget to a lesser extent. This loop takes 15-20ms to occur for each role which is already in place which compounds as more roles are added.
|Comment by Alexander Dracka [ 30/Jun/20 ]|
|Comment by Lana Frost [ 23/Jul/20 ]|
Reopening to add to release notes