Tuesday, September 23, 2008

On Migration Problem from WebLogic 8.1 to 10.0

Somebody posted a question on an old entry of my blog, asking about the problem they have when migrating from WebLogic 8.1 to WebLogic 10.0. I pasted the question that was asked so that everyone could easily referred to it.
In order to be able to answer to your question I need more specific things:



  • What kind of WebLogic project are you using (is it a WebLogic Workflow Project or plain J2EE application), it will help me to identify what kind of 'compiling' is going on

  • If what BEA support asserted is correct (it was merely caused by the Sun JDK bug with zip file), you have an option to migrate to use the JRockIt! virtual machine instead; you have an option to set your JVM to JRockIt! when you are setting your domain



In the past, WebLogic Server is known only to work on certain version of Sun JDK which usually is not the latest one (may contain bugs that has already been fixed in the later version). I found out that the later version of WebLogic Server such as 10.x seems to be more compatible with the Sun JDK; means I have successfully run WebLogic Server on  the  latest version of JDK 1.6.0 which was not the case with 8.1 and 9.2 version.

On the later version such as 10.x, BEA (now Oracle) suggested to use JRockIt! JVM even for development. Previously BEA suggested to use Sun JDK for development and only use JRockIt! on production.

Using Sun JVM  you will experience java.lang.OutOfMemory caused by PermGenSpace is full (this is a normal and expected behavior), but you will have much faster deployment cycle (JRockIt! needs to precompile to native binaries for every things that are deployed, while Sun JVM only compiles to native part that is used often).

I guess that your problem happens while you are compiling EJB using the WebLogic Workshop IDE?



Anonymous said...

Hi,
I am trying to get information about Weblogic 10.0. 
So far, we have had a 
very hard time trying to migrate from Weblogic 8.1 to Weblogic 10.0. 
Do you know of anybody with experience on doing this migration? What type of problems did they found and how they got resolved?


We keep having OutOfMemory Exceptions when compiling EJBs...and servers not even start. We migrated from 8.1 all applications using Weblogic's domain upgrade utility. The configuration is preserved, and the applications are deployed, but when it tries to start, it is not able to do it. If it starts then it keeps finding OutOfMemory exceptions.

I am told from BEA support that this is caused by SUN JDK bug with zip files... What are my options?

 



 

 

 

2 comments:

  1. Hi,

    i faced the same OM and PERGEN exceptions when using jdk1.5_16 on 10.0MP1,i played around with jvm tuning options and was able to get this working..but it requires huge heap size than that of 8.1.Try these jvm args.deploying ejbs may be faster depending on OS(linux,solaris,windows2000
    1.Try enabling native I/O
    2.try deploying your entire ear as one module or try deploying individual modules (ejbs and wars) using subdeployment
    3.Try stating jvm in client/server modes
    4.Args that are working for me -Xms1408m -Xmx1408m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:CompileThreshold=8000 -XX:+UseSpinning -XX:+UseDefaultStackSize -Xss512K -Xint
    5.try changing CompileThreshold to 10000

    Basically my point is,you should try various things when you deploy an EAR file that is huge.Definetly it would take more heap than it consumed in 8.1.

    ReplyDelete
  2. Hi Raj,

    Thank you for your comment. I believed it comes from your hands-on experience on the application server itself.

    I think what the WebLogic lady (who asked the solution for that problem) had was of different issue from what you have overcome. She didn't experience the PermGen, instead the one that was throwing exception is the migration tool itself.

    ReplyDelete