Vista combinada Visión Plana Vista de árbol
Discusiones [ Anterior | Siguiente ]
toggle
Manish Kumar Jaiswal
ehcache configuration
12 de noviembre de 2012 5:59
Respuesta

Manish Kumar Jaiswal

Ranking: Regular Member

Mensajes: 133

Fecha de incorporación: 25 de noviembre de 2008

Mensajes recientes

I have a question
I think Ehcache has a known issue and it recommends following

"In development, there appears to be class loader memory leak as I continually redeploy my web application. There are lots of causes of memory leaks on redeploy. Moving Ehcache out of the WAR and into $TOMCAT/common/lib fixes this leak."
so why liferay has still its ehcache.jar and other related jar in root folder . Is it Liferay Team is unaware of this bug (or please point out if I am wrong somewhere)? Because I can still replicate this bug in liferay 6.0.5 and if they know then what is the resolution of this issue because I simply cannot move the ehcache.jar to ext folder since it starts giving exception on restart of the server.

Regards
Manish
Vilmos Papp
RE: ehcache configuration
12 de noviembre de 2012 6:23
Respuesta

Vilmos Papp

LIFERAY STAFF

Ranking: Liferay Master

Mensajes: 521

Fecha de incorporación: 21 de octubre de 2010

Mensajes recientes

Hi,

Could you attach a stacktrace or log of the errors you receive?
Are you able to reproduce the very same issue on the latest trunk? If so, you could open an LPS tickets for it.

Regerads,
Vilmos
Manish Kumar Jaiswal
RE: ehcache configuration
12 de noviembre de 2012 6:48
Respuesta

Manish Kumar Jaiswal

Ranking: Regular Member

Mensajes: 133

Fecha de incorporación: 25 de noviembre de 2008

Mensajes recientes

Hi Vilmos ,

basically one of my production systems are getting a regular Out Of Memory at a regular interval of 2 months . I was just analyzing the heap dump from the production for the memory leak issue and this is what I found as SUSPECT 1 for the cause

"One instance of "net.sf.ehcache.Cache" loaded by "org.apache.catalina.loader.WebappClassLoader @ 0x671a09fe0" occupies 2,263,129,712 (40.56%) bytes. The memory is accumulated in one instance of "net.sf.ehcache.store.compound.Segment[]" loaded by "org.apache.catalina.loader.WebappClassLoader @ 0x671a09fe0".

Keywords
net.sf.ehcache.Cache
org.apache.catalina.loader.WebappClassLoader @ 0x671a09fe0
net.sf.ehcache.store.compound.Segment[]"

thats what give me the feeling that its the same issue.

Regards
Manish
Vilmos Papp
RE: ehcache configuration
12 de noviembre de 2012 7:32
Respuesta

Vilmos Papp

LIFERAY STAFF

Ranking: Liferay Master

Mensajes: 521

Fecha de incorporación: 21 de octubre de 2010

Mensajes recientes

Hi Manish,

I have search JIRA for related issue but haven't found any. Could you open a ticket there with details/sample portlet and logs what could help with the reproduction?

As 6.0.5 is not a new piece of code, could you verify whether the issue is exists on the latest CE or trunk?

Regards,
Vilmos
Manish Kumar Jaiswal
RE: ehcache configuration
12 de noviembre de 2012 9:21
Respuesta

Manish Kumar Jaiswal

Ranking: Regular Member

Mensajes: 133

Fecha de incorporación: 25 de noviembre de 2008

Mensajes recientes

Vilmos ,

I have not checked this on latest version neither this is replicated on a small set up . This comes only on our production setup with a heavy load , I am unable to replicate it on local machine.

Regards
Manish
Vilmos Papp
RE: ehcache configuration
12 de noviembre de 2012 14:17
Respuesta

Vilmos Papp

LIFERAY STAFF

Ranking: Liferay Master

Mensajes: 521

Fecha de incorporación: 21 de octubre de 2010

Mensajes recientes

Do you have a cluster or standalone Liferay installations?
Manish Kumar Jaiswal
RE: ehcache configuration
13 de noviembre de 2012 0:47
Respuesta

Manish Kumar Jaiswal

Ranking: Regular Member

Mensajes: 133

Fecha de incorporación: 25 de noviembre de 2008

Mensajes recientes

Hi Vilmos ,

Yes its a cluster environment . also just FYI We are using Jgroups and all fail safe configurations are already there in the cluster configuration .

Regards
Manish
Juan Gonzalez
RE: ehcache configuration
13 de noviembre de 2012 0:51
Respuesta

Juan Gonzalez

LIFERAY STAFF

Ranking: Liferay Legend

Mensajes: 2794

Fecha de incorporación: 28 de octubre de 2008

Mensajes recientes

In my opinion, that's a bad practice. Doesn't make sense to have a development environment + cluster + redeployments.

Cluster is for production or pre-production environments. And if you wanna test something like a production environment, best practice is redeploy and server restart.
Manish Kumar Jaiswal
RE: ehcache configuration
13 de noviembre de 2012 0:55
Respuesta

Manish Kumar Jaiswal

Ranking: Regular Member

Mensajes: 133

Fecha de incorporación: 25 de noviembre de 2008

Mensajes recientes

Juan ,

In my case its production environment not Development , In my previous post I was quoting what was in the referred post .

Regards
Manish
Manish Kumar Jaiswal
RE: ehcache configuration
13 de noviembre de 2012 1:03
Respuesta

Manish Kumar Jaiswal

Ranking: Regular Member

Mensajes: 133

Fecha de incorporación: 25 de noviembre de 2008

Mensajes recientes

Juan ,
One more thing this production System have memory full after evry 2 months or so and we restart its after that interval to let all the memory free.

Regards
Manish
Vilmos Papp
RE: ehcache configuration
13 de noviembre de 2012 6:32
Respuesta

Vilmos Papp

LIFERAY STAFF

Ranking: Liferay Master

Mensajes: 521

Fecha de incorporación: 21 de octubre de 2010

Mensajes recientes

Hi Manish,

Usually in production systems especially with clustered setups portlets are not hotdeployed on the fly. Just imagine the scenario when you have a portlet with modified service layer which is incompatible with the previous version. This case if you already deployed the new version on one node and a request is served on the other one with the old service layer, you cannot predict what will be the result.

Usually I recommend that in clustered environment all nodes should be switched off before installing portlets, then start one node only and when it's started then you can start another one and let it deploy the portlets from it's own deploy folder and so on with all of your nodes.

Regards,
Vilmos