Connection Leak In 12c OIM API - GetAccountsProvisionedToUser() Where PopulateAccountData Is True
(Doc ID 2537106.1)
Last updated on APRIL 23, 2020
Applies to:Identity Manager - Version 188.8.131.52.0 to 184.108.40.206.190109 [Release 12c]
Information in this document applies to any platform.
A custom job is being used(Update Process Forms) to process user data and update them to process form (UD tables) and then update to Targets, The job uses OIM API to update users. This job was running fine in OIM 11gR2PS3 (OIM 220.127.116.11.160719) but after upgrade to OIM 18.104.22.168.0, the custom job is using more connections and exhausting all connections available in data-source oimOperationsDB. There is a memory leak in underlying API as the custom code doesn’t have any connection open.
1. Create a test class TestOimClient which is calling provisioningService.getAccountsProvisionedToUser(id, true)
2. This class file can be run locally as it has main method
3. Run the class file with 12c jars (oimclinet.jar and OIMServer.jar)
4. Found that it is using lots of connections from oimOperationsDB data-source pool
5. Run the class file with 11g jars
6. Found that it is using only one connection from oimOperationsDB data-source pool
This above mentioned test indicate that provisioningService.getAccountsProvisionedToUser() is causing a memory leak.
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!