We were facing some memory/garbage collection issues on one of our AEM 6.3 publishers. We did a heap dump analysis and the one suspect said:
243,406 instances of "org.eclipse.jetty.server.session.HashedSession", loaded by "org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5 @ 0x741a1fee8" occupy 1,421,271,104 (66.52%) bytes. These instances are referenced from one instance of "java.util.concurrent.ConcurrentHashMap$Node[]", loaded by "<system class loader>"
This lead me to this article: AEM instance crashes with OutOfMemoryError due to Jetty Sessions . (Even though that article was for 6.0 and 6.1, it fit our issue pretty well.) We've had issues with our Jetty sessions before - the Session Timeout was still set to the default 0, so we set it to 20. But when we changed it, the parent setting didn't change; it stayed at the default 0. Instead, it created a child entry that has the new value.
The top one, Apache Felix Jetty Based Http Service has this:
The bottom one, org.apache.felix.http.47b40c8f-1ab9-4b26-9d8a-1b4fa044beb0, has this:
And if I go straight to /system/console/configMgr/org.apache.felix.http, it shows the entry that is set to 0. Therefore, I suspect that the system is using the parent that won't change, which is then causing (or contributing to) our of memory/garbage collection issues.
So my questions are:
Solved! Go to Solution.
Go to /system/console/osgi-installer and search for the config PID and you'll see ALL the instances and locations of configurations in use.
OOTB configs are under the /launchpad path.
If you have custom configs you'll see a config instance under /apps
Only ONE will be in the INSTALLED state. That is the active configuration.
Not sure but could be sling.properties file might have the default value.
Views
Replies
Total Likes
Hello,
Whenever any config is modified from console, .config file gets created in the filesystem crx-quickstart/launchpad/config/.
In this case, the child config, i.e. config with identifier should be picked up at runtime.
Check the section "Configuration Details" in doc [1] to understand the resolution order of configs at runtime and startup.
[1] https://helpx.adobe.com/experience-manager/6-3/sites/deploying/using/configuring-osgi.html
Regards,
Vishu
Hi Matt-H-,
Please see inline-answers to you questions:
Let us know if this helps -- suggest not to use the Apache Felix Jetty Based Http Service factory configurations unless the factory config will apply for different Ports (HTTP / HTTPs) (e.g. [1]) -- when same port is used in multiple configurations - not certain which is applying
Regards,
Lisa
[1] Secure AEM against various SSL / TLS vulnerabilities | AEM 6.x
Go to /system/console/osgi-installer and search for the config PID and you'll see ALL the instances and locations of configurations in use.
OOTB configs are under the /launchpad path.
If you have custom configs you'll see a config instance under /apps
Only ONE will be in the INSTALLED state. That is the active configuration.
Views
Likes
Replies