Failed to lazily initialize a collection of role: sailpoint.object.Rule.referencedRules, could not initialize proxy - no Session

SailPoint IIQ 8.4

failed to lazily initialize a collection of role: sailpoint.object.Rule.referencedRules, could not initialize proxy - no Session

Hi SailPoint Experts,

We are currently using SailPoint IIQ version 8.4.

Recently, without any changes being made to the production environment, several Account aggregation and refresh tasks have started failing unexpectedly.

The following tasks are failing:

  • Active Directory Aggregation

  • Azure AD Aggregation

  • Refresh Identity Cube – Lifecycle

  • Other Refresh tasks

Could you please advise where I should begin troubleshooting this issue?
Should I check the configuration, rules, or custom code within SailPoint IIQ?

If anyone has encountered a similar issue earlier, your guidance would be greatly appreciated.
Your prompt response will be highly appreciated.

Error Message:

failed to lazily initialize a collection of role: sailpoint.object.Rule.referencedRules, could not initialize proxy - no Session
failed to lazily initialize a collection of role: sailpoint.object.Rule.referencedRules, could not initialize proxy - no Session
failed to lazily initialize a collection of role: sailpoint.object.Rule.referencedRules, could not initialize proxy - no Session
failed to lazily initialize a collection of role: sailpoint.object.Rule.referencedRules, could not initialize proxy - no Session
failed to lazily initialize a collection of role: sailpoint.object.Rule.referencedRules, could not initialize proxy - no Session
failed to lazily initialize a collection of role: sailpoint.object.Rule.referencedRules, could not initialize proxy - no Session

@pmr542 We are discussing the same thing here: Full Identity Refresh Task Fails with Below Errors - #5 by neel193

Could you please also confirm below items:

  • If you are passing any identity and application object completely as arguments to any custom method. Modify it to pass the names and get the object from context inside the method.

  • If you are doing commitTransaction(), that may also invalidate some of the objects in reference.. For this you should create a sub context and then make the changes followed by commitTransaction().

  • If you are decache(), that also may cause the issue. Please change it to decache(object).

Please check your codebase for such cases and make the necessary adjustments.

Please also refer to the document: https://community.sailpoint.com/t5/IdentityIQ-Forum/Request-for-Official-Guidance-Use-of-commitTransaction-Inside/m-p/277486/highlight/true#M198717

Note: Found a fix?Help the community by marking the comment as solution. Feel free to react(:heart:,:+1:, etc.)with an emoji to show your appreciation or message me directly if your problem requires a deeper dive.

Getting same error in my UAT environment , passing a identity for single identity cube refresh but other aggregation tasks are also failing , how to resolve this issue?

@lsaipriya26 Try refresh the identity by launching the task via code. In one of the code, we were using Identitizer to refresh identity with process events, it was throwing the exception. So we changed it to launch the refresh task using TaskManager in the code and it worked fine without errors.

Note: Found a fix?Help the community by marking the comment as solution. Feel free to react(:heart:,:+1:, etc.)with an emoji to show your appreciation or message me directly if your problem requires a deeper dive.

But same error is getting for all aggregation tasks

@pmr542 @lsaipriya26

This error happens because the referencedRules collection is being accessed after the database session has closed. To fix this, ensure you are not calling context.decache() or context.commitTransaction() before you are finished with the Rule object. A quick fix is to ‘force’ the load by calling rule.getReferencedRules().size() immediately after fetching the rule from the context.

Does this help you identify which rule or task might be causing the session to drop too early?

Regards,

Kannan