9 Replies Latest reply on May 22, 2012 9:10 AM by clebert.suconic

    Clusters don't support big messages over 100KB?

    gojoke

      I can  sending and receiving the messages through a single HornetQ .

      But when I set up the 2 HornetQ as clusters and sending the messages bigger than 100KB , execption occured and the messages cannot send to the receiver.

       

      How to deal with it ?

        • 1. Re: Clusters don't support big messages over 100KB?
          gaohoward

          What's the version you are using? and how is your server conifguration looks like, what's the error messages?

           

           

          Howard

          • 2. Re: Clusters don't support big messages over 100KB?
            gojoke

            Thank you for your reply. And sorry that the imformation was not enough.

            The version 2.2.5.

            I just can not set up the field "min-large-message-size" to increase the size of message transferred between 2 cluster servers.

            For more detailed information , I will test it again and get the error messages and configurations.

             

            But from my invetigation , this bug is mentioned in the site below :

            https://issues.jboss.org/browse/JBPAPP-7455

             

             

            • 3. Re: Clusters don't support big messages over 100KB?
              difu

              I have a similar problem with min-large-message-size. I tested on both 2.2.5 and 2.2.7, and I could sent large messages over min-large-message-size. My problem is that Sometimes when I finished testing and close the consumer session, I got exception like:

              java.lang.IndexOutOf BoundException

                   at org.jboss.netty.buffer.AbstractChannelBuffer.checkReadableBytes

                   ...

                   at org.hornetq.core.buffers.impl.ChannelBufferWrapper.readNullableSimpleString

                   ...

                   at org.hornetq.jms.client.HornetQTextMessage.doBeforeReceive

               

              According to the user manual, min-large-message-size defines the size of a large message and it should not be the cause to your failure. The default value for min-large-message-size is 100K, but this value does not mean that you cannot send and receive messages large than 100KB. This parameter tells hornetq that when a message is larger than 100KB, hormetq should send and receive messages in chunks of at most 100KB and merge these chunks into a message.

              • 4. Re: Clusters don't support big messages over 100KB?
                gojoke

                ・Test Condition :

                 4 machine : Producer , hornetQ-cluster A , hornetQ-cluster , Consumer

                  Version: 2.2.5

                  OS: Linux

                  Other Information : running as hornetQ stand-alone

                 

                Do the test as following

                Case 1 : The configuration of connection-factory without <min-large-message-size>

                Step 1: Preprare 2 messages ( 50kb and 150kb), and send them from producer to consumer

                Step 2: Confirm the consumer: can receive the 50kb message but lose the 150kb one.

                Step 3: Confirm the hornetQ-cluster machine: A waring  occured [ removing consumer which did not handle a message, consumer = org.hornetq.core.server.cluster....]

                 

                Case 2 : The configuration of connection-factory with <min-large-message-size> at each the cluster machine.

                Step 1: Preprare 2 messages ( 50kb and 150kb), and send them from producer to consumer

                Step 2: Confirm the consumer: The consumer can receive the 50kb message but lose the 150kb one. (The same with case 1)

                Step 3: Confirm the hornetQ-cluster machine: No warning or exception occured.

                 

                Case 3 : 

                Step 1 : In the [ hornetq-configuration.xml] , I added <min-large-message-size> to the <cluster-connections> as below

                 

                <cluster-connections>

                  <cluster-connection name = 'my-cluster'>

                   ...

                   <min-large-message-size> 31457280 </min-large-message-size>

                   ...

                   </cluster-connection>

                </cluster-connections>

                 

                Step 2 : restart the hornetq.

                 

                Step 3 : Confirm the hornetq :

                Exception : The [Invid configuration] is shown that [ Invid content was found starting with element 'min-large-message-size']

                • 5. Re: Clusters don't support big messages over 100KB?
                  gaohoward

                  Can you confirm with your test that the exception occurs with the latest HornetQ release?

                   

                  Howard

                  • 6. Re: Clusters don't support big messages over 100KB?
                    gaohoward

                    Can you try the latest HornetQ release?

                     

                    Howard

                    • 7. Re: Clusters don't support big messages over 100KB?
                      gojoke

                      OK.  I am going to try to test it again at the latest version 2.2.14 and give you a reply.

                      But now I do not get any information at the release note about this problem. So i think the problem still exists in the latest version.

                      • 8. Re: Clusters don't support big messages over 100KB?
                        gojoke

                        Thank you, Howard.  I tested it again and no problem was found at the version 2.2.14.

                         

                        • 9. Re: Clusters don't support big messages over 100KB?
                          clebert.suconic

                          if you increase the size of min-large-message, you also have to increase the buffer size on the journal, otherwise you won't be able to send these messages.

                           

                          You should also increase the size of the journal itself. I believe the default journal size is 1M on AS7.s