Expand my Community achievements bar.

SOLVED

Production server down - AEM Sessions not Garbabe Collected

Avatar

Level 3

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.

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

Hi,

this message is just a warning, indicating that long-standing sessions are discouraged. These sessions don't see any incoming changes in the repo unless you refresh these sessions. So it's not an indication of a memory leak, but rather a recommendation to rethink your usage of JCR sessions.

So, I recommend you to analyse heapdumps to find out the root cause of this memory exhaustion problem.

kind regards,
Jörg

View solution in original post

1 Reply

Avatar

Correct answer by
Employee Advisor

Hi,

this message is just a warning, indicating that long-standing sessions are discouraged. These sessions don't see any incoming changes in the repo unless you refresh these sessions. So it's not an indication of a memory leak, but rather a recommendation to rethink your usage of JCR sessions.

So, I recommend you to analyse heapdumps to find out the root cause of this memory exhaustion problem.

kind regards,
Jörg