KB Article #181045
Exception in thread "Thread-7" java.lang.OutOfMemoryError: GC overhead limit exceeded
Problem
An unknown error was when trying to deploy new mappings flows on the production server.
The deployment takes some time and seems to be finished in the end but after there is an "Unknown error" when closing the transaction.
In the $CORE_DATA/log/starter.log, this kind of error will be displayed:
&&&&Exception in thread "Thread-7" java.lang.OutOfMemoryError: GC overhead
limit exceeded
at
sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.getActualTypeArguments(ParameterizedTypeImpl.java:115)
at java.util.HashMap.comparableClassFor(HashMap.java:361)
at java.util.HashMap$TreeNode.find(HashMap.java:1878)
at java.util.HashMap$TreeNode.find(HashMap.java:1881)
at java.util.HashMap$TreeNode.find(HashMap.java:1881)
at java.util.HashMap$TreeNode.putTreeVal(HashMap.java:1999)
at java.util.HashMap.putVal(HashMap.java:652)
at java.util.HashMap.put(HashMap.java:626)
at
com.axway.integrator.importexport.inventory.IntegratorInventorySerializerImpl.writeToFile(IntegratorInventorySerializerImpl.java:294)
at
com.axway.integrator.importexport.inventory.IntegratorInventorySerializerImpl.write(IntegratorInventorySerializerImpl.java:173)
at
com.axway.integrator.importexport.remote.ImportAPIServerImpl.precommitInventory(ImportAPIServerImpl.java:389)
Resolution
This error is thrown by the JVM when it encounters a problem related to utilizing resources. More specifically, the error occurs when the JVM spent too much time allowing the resources for the deployment and the Garbage Collection (GC) was reclaiming very little heap space.
During the deployment, the CPU has used its entire capacity for Garbage Collection and hence cannot perform any other tasks even if there were no limits on max memory size.
Increase the Java maximum heap size for the import/export for the broadcast agent:
- Add the following variable in $CORE_LOCAL/config/environment.dat
CORE_BA_JVM_OPTIONS=-Xmx512m
This is the default value, if will not solve the issue, you should try with a higher one – 1024m, for example.
- Load Integrator profile
Run ./profile.sh from $CORE_ROOT
- Update the runtime
r4edi $CORE_ROOT/install/pgm/update_runtime.x4
- Restart Integrator server