2 Replies Latest reply on Apr 3, 2013 11:07 AM by 601327

    Always get MaxMessageSizeExceededException on large number of MBeans

      I have 60 apps deployed on my Cluster (with 2 ManagedServers), and each App has a large number of MBeans. If I go to the custom tree using wlst, I always get this error, even though the MaxMessageSize has been set way way higher.
      weblogic.socket.MaxMessageSizeExceededException: Incoming message of size: '10000080' bytes exceeds the configured maximum of: '10000000' bytes for protocol: 't3'

      The ManagedServers are started with the ClusterManager, and each ManagedServer has the Arguments set for ServerStart:
      -Xms4g -Xmx8g -XX:MaxPermSize=7g -d64 -XX:+UseCodeCacheFlushing -XX:NewSizeThreadIncrease=100 -Dweblogic.ThreadPoolPercentSocketReaders=50 -Dweblogic.ThreadPoolSize=100 -Dweblogic.SelfTuningThreadPoolSizeMin=1000 -Dweblogic.MaxMessageSize=20971520 -Djava.library.path=/install/Middleware/wlserver_10.3/server/native/linux/x86_64

      The AdminServer has been set with a similar MaxMessageSize, and the wlst from where I issue the custom() command, has been started with "-Dweblogic.MaxMessageSize=20971520" too.

      To top it off, I checked the JVM's with jinfo to double check the weblogic.MaxMessageSize, and all do comply to the specified bytes, none being 10M of the error message.

      I am able to reproduce the issue on Linux x64 as well as Solaris 11 Sparc.

      Could it be related to the MBeans (as I assume)? When I only deploy 55 apps, the issue does not occur. Any other tips are welcome.
        • 1. Re: Always get MaxMessageSizeExceededException on large number of MBeans
          anjhawar - oracle
          Here WLST would be acting as the client. It seems that you have placed the setting of the message max size on the server side (which is one part of the tuning), but you need to place the same to the WLST too or for that matter any other client like applet, stand-alone java code.

          In short you can try the following, if you wish:

          set the environment using setDomainEnv.sh/cmd and the run:

          java -Dweblogic.MaxMessageSize=20971520 weblogic.WLST

          Note: I read through your note about providing "-Dweblogic.MaxMessageSize=20971520" parameter to WLST, but not sure whether you have checked WLST process with jinfo or the WLS server nodes.

          Also I am not sure what type of application you are using by you can consider passing the above property via System.property() call to the application.

          Additionally, I would request you to share some more information, like the config (snippet), jinfo output, and WLST output if you try to locate the current MaxMessageSize value of the server by connecting to it, complete stack (if any).. in case the above does not help.

          Note: I have tried this multiple times and it works like a charm. But from your notes it seems to a case of overridding of parameters value.


          • 2. Re: Always get MaxMessageSizeExceededException on large number of MBeans
            Oddly, calling weblogic.WLST works ..... but calling wlst.sh doesn't. It seems wlst.sh does not pass the parameters I set using export JAVA_OPTIONS=....

            I'll try to investigate a bit further, however the issue is cleared as not-a-bug :)

            Edited by: Ruben de Vries on Apr 3, 2013 1:06 PM