I was wondering if anyone else has run into the issue of repeated redeployments via the WebLogic console causing an "Out of memory" error in the server, requiring a restart.
We have an application (deployed in exploded directory form) comprised of five web applications and six or so EJB Jars. When choosing "redeploy" through the console to redeploy to a cluster, it will fail on about the tenth try.
According to the SP4 release notes, this should be fixed, but a similar issue related to web applications (CR205146 CR209670) is claimed to be fixed in SP5 (not yet released). I am wondering if there are others who have seen this same issue and maybe have developed a workaround.
Hi, we had such a similar problem, but our version of WLS was 7.1 and we used a workaround of increasing the JVM memory size , which are commandline paramters while starting the server. This seemed to work for us.
Work like you don't need the money. Love like you've never been hated. Dance like nobody's watching. Sing like nobody's listening. Live like it's Heaven on Earth.
Currently I Reside HereWEBlog
Thanks for the response. I am wondering though if this is more of a work around than an actual solution. Seems to be that if WLS is taking more and more memory when doing redeployments, by increasing the memory settings we are only buying ouselves more time between "OutOfMemory" exceptions. Our goal is to remain as highly available as possible, and our process involves doing a hot deployment to an inactive cluster while running, and then switching that cluster to be the active one. Ideally avoiding a server restart.
I was wondering what the common practice is among those using WLS. Do you always, when deploying to production, restart WL? We have a very short turnaround, deploying to production every week. We have gathered by talking to some that we seem to be more likely to see this issue given the frequency of deployments and the fact that we had not been restarting WL on every deployment (we are now restarting each time due to this issue).
I have looked for some advice on deployment best/common practices, but have found none so far. A quick reply from a few folks on how you handle production deployments would be appreciated.
I'm not sure. But i guess you are running into out of memory error because weblogic is spending time and memory doing a ejbc/appc on your ejbs? I guess we can deploy the jsps precompiled and placing it under web-inf/classes/jsp_servlet directory. I wonder if we can do the same for enterprise beans as well? If we have tons of entity beans can we have weblogic not validate the abstract schema against the actual schema during deployment and also use the pregenerated weblogic specific classes ? Basically get weblogic to recognize that we are ok with what got generated when doing ejbc through automated build? But I cant seem to recollect the directory structure location for generated bean files.
For what it's worth, I tried adjusting the memory settings:
The defualt for MaxPerm appears to have been 128. As it happens, making it 256 effectively doubled the number of times I could redeploy before the OOM was seen. I do not rule out our application as a culprit in this, but with the two issues listed in the SP4 and SP5 release notes about this very thing, I am looking to WL first.