Which IIQ version are you inquiring about?
8.4
Please share any images or screenshots, if relevant.
Result of the perform maintenance task
Please share any other relevant files that may be required (for example, logs).
SysLog registered in system :
<SyslogEvent classname="sailpoint.api.CertificationFinisher$CertificationFinisherWorker" created="1764769201649" eventLevel="ERROR" id="c0a866319ae214d8819ae470fdf10cdd" lineNumber="317" quickKey="0003796242" server="INUNWIDAM747" thread="pool-61-thread-1" username="Scheduler">
<EventMessage>failed to lazily initialize a collection of role: sailpoint.object.Identity.links, could not initialize proxy - no Session</EventMessage>
<Stacktrace>org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: sailpoint.object.Identity.links, could not initialize proxy - no Session
at org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:606)
at org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:218)
at org.hibernate.collection.internal.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:585)
at org.hibernate.collection.internal.AbstractPersistentCollection.read(AbstractPersistentCollection.java:149)
at org.hibernate.collection.internal.PersistentBag.iterator(PersistentBag.java:387)
at sailpoint.provisioning.IIQEvaluator.provision(IIQEvaluator.java:297)
at sailpoint.provisioning.PlanEvaluator.execute(PlanEvaluator.java:871)
at sailpoint.provisioning.PlanEvaluator.execute(PlanEvaluator.java:739)
at sailpoint.api.Provisioner.execute(Provisioner.java:1652)
at sailpoint.api.certification.RemediationManager.executeUsingProvisioner(RemediationManager.java:929)
at sailpoint.api.certification.RemediationManager.performRemediation(RemediationManager.java:733)
at sailpoint.api.certification.RemediationManager.flush(RemediationManager.java:511)
at sailpoint.api.Certificationer.postRemediate(Certificationer.java:2997)
at sailpoint.api.Certificationer.finish(Certificationer.java:4430)
at sailpoint.api.CertificationFinisher$CertificationFinisherWorker.call(CertificationFinisher.java:290)
at sailpoint.api.CertificationFinisher$CertificationFinisherWorker.call(CertificationFinisher.java:193)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
</Stacktrace>
</SyslogEvent>
Share all details about your problem, including any error messages you may have received.
I have been trying to achieve a use case related to manager certification, which requires me to generate a manager certification on accounts, were if the certifier revoke the access review, instead of deleting the account we have to disable the account. So in order to achieve this use case, I have configured a Before provisioning rule in the application as give below :
import sailpoint.object.ProvisioningPlan.AccountRequest;
import sailpoint.object.ProvisioningPlan.ObjectOperation;
import sailpoint.object.*;
import org.apache.log4j.Logger;
import java.util.Iterator;import java.util.List;
log.debug(“In the before provisioning rule of the application”);
if(plan!=null){
String source=plan.getSource();
if(source!=null && “Certification”.equals(source)){
List accountRequestList=plan.getAccountRequests();
Iterator it=accountRequestList.iterator();
while(it.hasNext()){
AccountRequest accReq=(AccountRequest)it.next();
if(accReq.getOp().toString().equalsIgnoreCase(“Delete”)){
accReq.setOp(ProvisioningPlan.ObjectOperation.Disable);
log.debug(“+++Operation has been changed to Disabled+++”);
}
}
}
}
Now, this rule works fine and disables the account on revoking decision of the access review, i have checked in the provisioning transaction which shows that i have successfully disabled the account, but when the perform maintenance task runs, it gives me the error as shown above in the image, basically the perform maintenance task fails, and certification remains active, on the second run of the perform maintenance, it again performs provisioning of disabling the account and this goes on. Could you guys please help me resolving this issue. I just want to understand the reason why i am facing this issue and how could i resolve it.
Thank you!
