Attempt to generate refresh event with null object

Hello All!
I recently added an extended Identity attribute. I ran the SQL to create a new named column and index as mentioned in this document and updated hibernate and ObjectConfig: Identity

https://community.sailpoint.com/t5/Technical-White-Papers/Managing-Extended-Attributes/ta-p/77088

After this If I refresh on few identities, it works fine.

But if I run refresh on a large population it fails with these error messages:
The application script threw an exception: sailpoint.tools.GeneralException: Unable to connect to: jdbc:oracle:thin:@(DB Name)) BSF info: IdentityName Rule at line: 0 column: columnNo
sailpoint.tools.GeneralException: Unable to connect to: jdbc:oracle:thin:@(DB Name))
at sailpoint.plugin.PluginBaseHelper.getConnection(PluginBaseHelper.java:52) ~[identityiq.jar:8.4p2 Build a559eb467b2-20241211-210440]
at com.identityworksllc.iiq.plugins.bhp.c.run(SourceFile:277) [?:?]
at java.lang.Thread.run(Thread.java:840) [?:?]
Caused by: java.sql.SQLException: Cannot get a connection, pool error Timeout waiting for idle object, borrowMaxWaitDuration=PT10S
at org.apache.commons.dbcp2.PoolingDataSource.getConnection(PoolingDataSource.java:147) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:731) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at sailpoint.persistence.SailPointDataSource.getConnection(SailPointDataSource.java:48) ~[identityiq.jar:8.4p2 Build a559eb467b2-20241211-210440]
at sailpoint.plugin.PluginBaseHelper.getConnection(PluginBaseHelper.java:50) ~[identityiq.jar:8.4p2 Build a559eb467b2-20241211-210440]
… 2 more

Also, seeing this error in the logs:
2025-08-13T09:15:18,106Z WARN RequestProcessor sailpoint.request.RequestProcessor:258 -Unable to process request: 825bd34698a313278198a391d8d6039b
2025-08-13T09:15:18,106Z WARN RequestProcessor sailpoint.request.RequestProcessor:258 -Attempt to generate refresh event with null object

Any suggestion or pointer on this going to help.

Couple things:

  1. Issue is connection pool exhaustion: Cannot get a connection, pool error Timeout waiting for idle object
    1. The connection pool has no available connections to serve the request
    2. It works for a few identities because small batches don’t saturate the pool.
    3. You can increase the size of the connection pool if desired.
    4. Additionally, you can reduce the scope of the refresh task to target fewer identities at once.
  2. Secondary error: Attempt to generate refresh event with null object
    1. Suggests some identities are not properly initialized or the refresh logic is encountering null references - possibly due to failed DB connections or misconfigured rule

My advice would be to enable detailed logging onsailpoint.task.IdentityRefreshExecutorso that you can get better details on what is causing the bottleneck. You can share your findings on the above for more detailed help.

The issue here was, we had created a new Identity Attribute rule which was getting some info from the plugin db. The rule wasn’t closing the connection so there was a connection leakage.
Once the connection leakage was fixed, the issue was fixed. There was nothing to do with adding new Identity attribute or the Refresh process itself.

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