Account Aggregation Failing - sailpoint.object.Application.aggregationTypes

Which IIQ version are you inquiring about?

8.3p4

We have various applications that account aggregation is failing for. I can’t identify any pattern between the failing applications and successful ones.

I have found this related article that has the same error and have investigated the suggestions provided on that thread but did not find any issues with decaching or schemas.

Any suggestions on other possible causes?

sailpoint.tools.GeneralException: org.hibernate.PropertyAccessException: Exception occurred inside getter of sailpoint.object.Application.aggregationTypes
	at sailpoint.persistence.HibernatePersistenceManager.commitTransaction(HibernatePersistenceManager.java:558) ~[identityiq.jar:8.3p4 Build 70e6b82a582-20240620-112139]
	at sailpoint.persistence.ClassPersistenceManager.commitTransaction(ClassPersistenceManager.java:207) ~[identityiq.jar:8.3p4 Build 70e6b82a582-20240620-112139]
	at sailpoint.server.InternalContext.commitTransaction(InternalContext.java:560) ~[identityiq.jar:8.3p4 Build 70e6b82a582-20240620-112139]
	at sailpoint.api.Aggregator.finishLastIdentity(Aggregator.java:4821) [identityiq.jar:8.3p4 Build 70e6b82a582-20240620-112139]
	at sailpoint.api.Aggregator.aggregateAccounts(Aggregator.java:3482) [identityiq.jar:8.3p4 Build 70e6b82a582-20240620-112139]
	at sailpoint.api.Aggregator.doAccountRetries(Aggregator.java:3104) [identityiq.jar:8.3p4 Build 70e6b82a582-20240620-112139]
	at sailpoint.api.Aggregator.aggregateApplication(Aggregator.java:2824) [identityiq.jar:8.3p4 Build 70e6b82a582-20240620-112139]
	at sailpoint.api.Aggregator.phaseAggregate(Aggregator.java:2681) [identityiq.jar:8.3p4 Build 70e6b82a582-20240620-112139]
	at sailpoint.api.Aggregator.execute(Aggregator.java:2200) [identityiq.jar:8.3p4 Build 70e6b82a582-20240620-112139]
	at sailpoint.task.ResourceIdentityScan.doUnpartitioned(ResourceIdentityScan.java:249) [identityiq.jar:8.3p4 Build 70e6b82a582-20240620-112139]
	at sailpoint.task.ResourceIdentityScan.execute(ResourceIdentityScan.java:229) [identityiq.jar:8.3p4 Build 70e6b82a582-20240620-112139]
	at sailpoint.api.TaskManager.runSync(TaskManager.java:981) [identityiq.jar:8.3p4 Build 70e6b82a582-20240620-112139]
	at sailpoint.api.TaskManager.runSync(TaskManager.java:764) [identityiq.jar:8.3p4 Build 70e6b82a582-20240620-112139]
	at sailpoint.scheduler.JobAdapter.execute(JobAdapter.java:128) [identityiq.jar:8.3p4 Build 70e6b82a582-20240620-112139]
	at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-2.3.2.jar:?]
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [quartz-2.3.2.jar:?]
Caused by: javax.persistence.PersistenceException: org.hibernate.PropertyAccessException: Exception occurred inside getter of sailpoint.object.Application.aggregationTypes
	at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:154) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:188) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1366) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:453) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:3212) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2380) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:447) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback(JdbcResourceLocalTransactionCoordinatorImpl.java:183) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$300(JdbcResourceLocalTransactionCoordinatorImpl.java:40) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:281) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:101) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at sailpoint.persistence.HibernatePersistenceManager.commitTransaction(HibernatePersistenceManager.java:543) ~[identityiq.jar:8.3p4 Build 70e6b82a582-20240620-112139]
	... 15 more
Caused by: org.hibernate.PropertyAccessException: Exception occurred inside getter of sailpoint.object.Application.aggregationTypes
	at org.hibernate.property.access.spi.GetterMethodImpl.get(GetterMethodImpl.java:45) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.tuple.entity.AbstractEntityTuplizer.getPropertyValue(AbstractEntityTuplizer.java:597) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.persister.entity.AbstractEntityPersister.getPropertyValue(AbstractEntityPersister.java:5179) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.engine.internal.Cascade.cascade(Cascade.java:182) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.event.internal.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:158) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.event.internal.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:148) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.event.internal.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:81) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:39) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:102) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1362) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:453) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:3212) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2380) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:447) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback(JdbcResourceLocalTransactionCoordinatorImpl.java:183) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$300(JdbcResourceLocalTransactionCoordinatorImpl.java:40) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:281) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:101) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at sailpoint.persistence.HibernatePersistenceManager.commitTransaction(HibernatePersistenceManager.java:543) ~[identityiq.jar:8.3p4 Build 70e6b82a582-20240620-112139]
	... 15 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.GeneratedMethodAccessor1002.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_202]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_202]
	at org.hibernate.property.access.spi.GetterMethodImpl.get(GetterMethodImpl.java:42) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.tuple.entity.AbstractEntityTuplizer.getPropertyValue(AbstractEntityTuplizer.java:597) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.persister.entity.AbstractEntityPersister.getPropertyValue(AbstractEntityPersister.java:5179) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.engine.internal.Cascade.cascade(Cascade.java:182) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.event.internal.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:158) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.event.internal.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:148) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.event.internal.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:81) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:39) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:102) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1362) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:453) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:3212) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2380) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:447) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback(JdbcResourceLocalTransactionCoordinatorImpl.java:183) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$300(JdbcResourceLocalTransactionCoordinatorImpl.java:40) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:281) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:101) ~[hibernate-core-5.4.27.Final.jar:5.4.27.Final]
	at sailpoint.persistence.HibernatePersistenceManager.commitTransaction(HibernatePersistenceManager.java:543) ~[identityiq.jar:8.3p4 Build 70e6b82a582-20240620-112139]
	... 15 more
Caused by: java.lang.NullPointerException

Hi @keenonhh,

I am not sure at all because the log doesnt give more info except the NullPointerException at the end, but the cause could be that into the aggregation you are reading an account (or more) who has an attribute (or more) with a value that IIQ cannot manage.
For example a null on the identity attribute of the accounts.

I suggest you use a customization rule to dectect the accont that break the aggrergation

@keenonhh did you recently upgraded ? Or this problem happening in all env ?

Perhaps, you can check Schema at debug page and try to import application without ids. Also have a look at .hbm files

Thank you all for your suggestions. I ended up opening a support case and they provided this article with a script that resolved the issue which was related to bad indexing

https://community.sailpoint.com/t5/IdentityIQ-Wiki/Correct-IDX-rule-to-detect-and-fix-IDX-values/ta-p/73051

2 Likes

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.