Task #1902
openSuspected metaspace memory leaks when using Groovy from workflows
0%
Description
First encountered on a project. IdM went nuts and stopped working after hitting Metaspace boundary of 256MB. Full GCs spinning the machine, JVM paused. GCs unable to complete their work before another one started, bringing number of running GCs to thousands. Had to kill JVM. On this project, the metaspace max size was set (by default, we do not set this setting) to aforementioned 256MB.
Succesfully replicated behavior in a sandbox environment (with projspec module). All points to synchronization of roles (reading simple database table and creating/updating roles in the IdM). This synchronization, in our project-specific implementation, uses workflows with Groovy scripts. Those Groovy scripts call some internals of IdM.
When running synchronization without workflows, the problem does not arise.
We should dig on it a bit more to find out if this is a general workflow+groovy problem. Right now, we believe it to be a product issue.
Next step is to replace wf+groovy with wf+SpEL invocations.
Lubos, can you look at this please?