Hi all,
The author production instance of my client fails down very often. The memory usage reaches the 100% of the YG and the OG and it seems some objects are not garbage collected. After reading logs, I have realised this line repeats many many times:
31.07.2015 11:17:09.105 *WARN* [qtp164076950-36] org.apache.jackrabbit.oak.jcr.session.RefreshStrategy This session has been idle for 15 minutes and might be out of date. Consider using a fresh session or explicitly refresh the session.
I have checked the source code and every time we create a resource resolver through Service Authentication (resolverFactory.getServiceResourceResolver(map)), we use a try-catch-finally block to close the resourcesolver.
It also seems to be a well-known issue for OAK 1.0.9 fixed on OAK 1.0.12 but we are running the OAK version 1.0.16. Down here is the article:
http://stackoverflow.com/questions/30407105/aem-session-object-not-garbaged-collected
Finally, few days ago, this article was written few days ago that says this issue appear again for AEM 6.1.
http://permalink.gmane.org/gmane.comp.apache.jackrabbit.oak.devel/8483
Then, I have investigated how many opened sessions we have our QA instance (around 5 users) by using the following article: https://helpx.adobe.com/experience-manager/kb/AnalyzeUnclosedSessions.html and I got 817 opened sessions an hour after restarting the server.
sudo ./jmap -histo:live <PID> | grep CRX3
144: 817 84968 com.adobe.granite.repository.impl.CRX3RepositoryImpl$1
323: 817 19608 com.adobe.granite.repository.impl.CRX3SessionImpl
2950: 1 64 com.adobe.granite.repository.impl.CRX3RepositoryImpl
Has anybody faced this problem before? Does anybody think any other issue causing out of memory error?
Many thanks,
Salva.