lease share any other relevant files that may be required (for example, logs).
No new errors shown in logs compared to 8.4p2.
Share all details about your problem, including any error messages you may have received.
Before the upgrade from 8.4p2 to 8.5p2, our refresh task that refreshes about 150k users took 4 hours to complete. After the upgrade, with no changes to the task, it took 25h to complete. We´ve also checked and added logging to any of triggers and rules that are running when refreshing a user and we can see no reason in our logs why the refresh of each user should take a lot longer.
Has anyone had a similar experience when upgrading to 8.5 or any other version? Or knows if something has changed with any of the refresh settings in the latest version?
Set refreshRoleMetadata to false and run the Identity Refresh task again. See if it improves the performance of the Identity Refresh task. What is the approximate count of roles you have in your environment?
Hi @falin
The dramatic jump from 4 hours to ~25 hr is certainly caused by the over-inclusive task configuration combined with version-specific architectural changes in entitlement correlation, partitioning, and role metadata indexing.
Recommended fix for now
Reduce partitions to rougly 2x to 4x to available task worker therds across your cluster.
verify db post upgrade index rebuilds, and db table statistics(ex:spt_identity,spt_entitlement, spt_link) stale excution plans are common in mysql/Oracle post upgradation to slowdown the bulk hibernate loads.
Thanks for the response, we will test splitting up the task. Do you have any input on the remaining settings on the task? If they should be on the daily or weekly refresh?
@falin Could you please share what all options you have selected in refresh task?
You should also consider running delta refresh task and also create split task into multiple ones, in case you are doing everything in a single task.
You should set the partitions based on the number of servers you have. Please go to : RequestDefinition → Identity Refresh Partition. See how many parititons you have per server.
We are experiencing the same issue here. It appears that IIQSR-980, referenced in the 8.5p2 README file, introduced a problem with the CorrelationModel. The model never loads after startup.
SailPoint provided the IIQSR-995 and IIQSR-997 e-fixes, but they did not resolve the issue in our environment. The problem continues to occur.
We just upgraded and are experiencing same issue, our refresh task with refresh assigned… + provision assignments have more than doubled in execution time after upgrade. Just created a ticket to support, lets see what they say..
What we’ve observed in our client’s environment is that the correlateEntitlement and provision parameters in the Identity Refresh task appear to be responsible for the significantly increased runtime following the upgrade to 8.5p2.
We have an ongoing support case with SailPoint, but they have not yet identified the root cause or suggested a fix.
After comparing CorrelationModel.class 8.5p1 and 8.5p2 with AI assistance, we identified the architectural change.
In 8.5p1, CorrelationProfiles were eagerly loaded in the CorrelationRole constructor.
In 8.5p2, role details, selectors and profiles are loaded lazily through:
ensureCorrelationProfilesLoaded()
loadProfilesByRoleId()
warmBundleProfilesFromLoadedProfiles()
warmBundleProfileCollection()
There was blocked thread dumps collected in our environment consistently show execution inside ensureCorrelationProfilesLoaded().
All tasks using correlateEntitlements=true appear to wait on this new lazy-loading path.
We also asked to Engineering via Support Ticket to confirm if new CorrelationModel implementation depends on BundleProfileRelation data during profile warm-up and if a supported workaround exists to disable or bypass the lazy-loading mechanism and revert to the previous eager-loading behavior used in 8.5p1.
Hi Persio! Thank you for the great summary. We have today been adviced by Sailpoint to apply the fixes IIQSR-995 and IIQSR-997 to fix the defects of the CorrelationModel. I saw that you have been adviced to to the same but still face significly slower run times of the refresh task when using correlateEntitlements flag.
Have you heard back from SP and do you have an open Support ticket with them currently?
The only recommendation SailPoint has given us so far is to move correlateEntitlements to a separate step in the workflow, possibly as a subprocess. They also explained that the CorrelationModel now depends, at least in part, on the BundleProfileRelation data. It appears that the “new” CorrelationModel is now built on top of this service.
So far, in our testing, this approach has not improved or resolved the issue. We have several workflows that depend on correlateEntitlements, and they still hang during execution.
Another suggestion was to run a full Identity Refresh with correlateEntitlements enabled during off-hours on a daily basis. However, this is not practical in our environment due to the large number of bundles we have.
We are still trying to determine the best way to address this issue.
Thank you for your swift response and detailed answer!
The suggestion from SailPoint to run a full Identity Refresh with only correlateEntitlements enabled during off-hours does not seem like a viable workaround for larger environments.
We have tested this in our client’s environment, and the task takes 18+ hours to complete, while also consuming significant application server resources during execution. Running this on a daily basis would therefore not be practical for us.
We will continue to update our support case with SailPoint and share any findings from our side. Please feel free to do the same if you make any progress in your investigation.
@persio_hartmann and if anyone else is following this thread - Sailpoint have now assigned this issue to Engineering Tracking Number (ETN) IIQETN-13206.