[ 
https://issues.apache.org/jira/browse/AMQ-4335?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13584748#comment-13584748
 ] 

Lucille Wilson commented on AMQ-4335:
-------------------------------------

Dear Mr. Bish,

I think we should restart this conversation.  Perhaps I can fill in some 
details.

The problem, simply stated, is I want to produce a TextMessage whose message 
size is over 100MB.  I seem to be prevented from doing so by the DEFAULT MAX 
FRAME SIZE parameter.

In order to effect this change, I made the following changes to activmq and to 
my application:

1. I am running Activemq 5.8.0.
We are using a native broker, not an embedded broker.  We must use TextMessage, 
not BytesMessage.


In ACTIVEMQ_HOME/conf/activemq.xml

I made the follwowing changes:

<transportConnectors>
 <transportConnector name="openwire" 
uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireformat.maxFrameSize=157286400"/>
 <transportConnector name="amqp" 
uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireformat.maxFrameSize=157286400"/>
 </transportConnectors>

and also:
 <policyEntry queue=">" producerFlowControl="true" memoryLimit="20mb"> (I 
increased this to 20mb)

And also:
  <managementContext>
            <managementContext createConnector="true"/> (I changed this to true)
        </managementContext>

And also
 <systemUsage>
            <systemUsage>
                <memoryUsage>
                    <memoryUsage limit="950 mb"/> ( I changed this to 950mb)
                </memoryUsage>
                <storeUsage>
                    <storeUsage limit="100 gb"/>
                </storeUsage>
                <tempUsage>
                    <tempUsage limit="50 gb"/>
                </tempUsage>
            </systemUsage>
        </systemUsage>


2. When I start activemq (in a cmd line console), I inspect the activemq.log 
and see:
2013-02-22 14:28:14,333 | DEBUG | Publishing: tcp://Lucille-Win7-PC:61616 for 
broker transport URI: 
tcp://Lucille-Win7-PC:61616?maximumConnections=1000&wireformat.maxFrameSize=157286400
 | org.apache.activemq.broker.TransportConnector | main
2013-02-22 14:28:14,333 | DEBUG | Publishing: amqp://0.0.0.0:5672 for broker 
transport URI: 
amqp://0.0.0.0:5672?maximumConnections=1000&wireformat.maxFrameSize=157286400 | 
org.apache.activemq.broker.TransportConnector | main

This leads me to believe that activemq will accept a message larger than 100MB.

3. Next I run my application (not my unit tests).
When I do, my RSIProducerToClient producer.send(TextMessage) does send the 
TextMessage.  My application does not detect any exceptions.
My client application (waiting for this message) does not get the message at 
all.  My client application times out while waiting on this message.
We look on the queue and we do not see the message either enqueued or dequeued.

When we inspect the activemq.log we see:

2013-02-22 14:30:20,692 | DEBUG | Transport Connection to: 
tcp://192.168.2.106:50385 failed: java.io.IOException: Frame size of 140 MB 
larger than max allowed 100 MB | 
org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ Transport: 
tcp:///192.168.2.106:50385@61616
java.io.IOException: Frame size of 140 MB larger than max allowed 100 MB
        at 
org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:277)
        at 
org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:221)
        at 
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:213)
        at 
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196)
        at java.lang.Thread.run(Thread.java:662)


4. 
It seems to us, that Activemq is allowing the possibility of sending a message 
over 100MB when Activemq starts up.  When we put the maxFrameSize in the 
activemq.xml and then we see that value (which is 157286400) parroted back when 
we start up Activemq in a console, we believe that ActiveMQ will be able to 
allow us to send a message of up to 150MB.

But when we actually DO send such a large message, the message is not allowed.  

Please help us to figure out how to send a TextMessage which is over 100mb 
long.  





Thank you.
Lucille Wilson
                
> Cannot set maxFrameSize greater than 100MB
> ------------------------------------------
>
>                 Key: AMQ-4335
>                 URL: https://issues.apache.org/jira/browse/AMQ-4335
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.8.0
>         Environment: Windows 2008 R2
>            Reporter: Pat Flaherty
>         Attachments: AMQ4335Test3_WithLargeGeneratedString.zip, 
> AMQ4335_Test4_regularRunThroughOurApplication.zip, AMQ4335Test.java, 
> AMQ4335Test.java, AMQ4335Test.java, amq4335.xml, amq4335.xml, 
> BugInActivemq.zip
>
>
> Trying to send JSON messages greater then 100MB and I receive the error:
> Transport Connection to: tcp://192.168.10.1:55823 failed: 
> java.io.IOException: Frame size of 140 MB larger
>  than max allowed 100 MB
> I tried increasing the frame size in 5.8.0 as follows:
>         <transportConnectors>
>             <!-- DOS protection, limit concurrent connections to 1000 and 
> frame size to 100MB -->
>             <transportConnector name="openwire" 
> uri="tcp://192.168.10.1:61616?maximumConnections=1000&amp;wireformat.maxFrameSize=157286400"/>
>             <transportConnector name="amqp" 
> uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireformat.maxFrameSize=157286400"/>
>         </transportConnectors> 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to