activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lucille Wilson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AMQ-4335) Cannot set maxFrameSize greater than 100MB
Date Mon, 25 Feb 2013 21:10:13 GMT

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

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

I changed the spelling of "wireFormat" to capitalize the "F".
Then I went back to running AMQ4335Test3_WithLargeGeneratedString.
What I saw in my activemq.log was: 

2013-02-25 15:57:45,818 | DEBUG | localhost adding destination: topic://ActiveMQ.Advisory.Producer.Queue.TEST.LARGE.FILE
| org.apache.activemq.broker.region.AbstractRegion | ActiveMQ Transport: tcp:///192.168.2.106:55568@61616
2013-02-25 15:57:46,476 | DEBUG | Transport Connection to: tcp://192.168.2.106:55568 failed:
java.io.IOException: Frame size of 100 MB larger than max allowed 100 MB | org.apache.activemq.broker.TransportConnection.Transport
| ActiveMQ Transport: tcp:///192.168.2.106:55568@61616
java.io.IOException: Frame size of 100 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)


But what I hadn't noticed before was lines in the activemq.log file which looked like this:

2013-02-25 15:57:45,783 | DEBUG | Sending: WireFormatInfo { version=9, properties={MaxFrameSize=157286400,
CacheSize=1024, CacheEnabled=true, SizePrefixDisabled=false, MaxInactivityDurationInitalDelay=10000,
TcpNoDelayEnabled=true, MaxInactivityDuration=30000, TightEncodingEnabled=true, StackTraceEnabled=true},
magic=[A,c,t,i,v,e,M,Q]} | org.apache.activemq.transport.WireFormatNegotiator | ActiveMQ BrokerService[localhost]
Task-2
2013-02-25 15:57:45,784 | DEBUG | Using min of local: WireFormatInfo { version=9, properties={MaxFrameSize=157286400,
CacheSize=1024, CacheEnabled=true, SizePrefixDisabled=false, MaxInactivityDurationInitalDelay=10000,
TcpNoDelayEnabled=true, MaxInactivityDuration=30000, TightEncodingEnabled=true, StackTraceEnabled=true},
magic=[A,c,t,i,v,e,M,Q]} and remote: WireFormatInfo { version=9, properties={CacheSize=1024,
MaxFrameSize=104857600, CacheEnabled=true, SizePrefixDisabled=false, TcpNoDelayEnabled=true,
MaxInactivityDurationInitalDelay=10000, MaxInactivityDuration=30000, TightEncodingEnabled=true,
StackTraceEnabled=true}, magic=[A,c,t,i,v,e,M,Q]} | org.apache.activemq.transport.InactivityMonitor
| ActiveMQ Transport: tcp:///192.168.2.106:55568@61616
2013-02-25 15:57:45,784 | DEBUG | Received WireFormat: WireFormatInfo { version=9, properties={CacheSize=1024,
MaxFrameSize=104857600, CacheEnabled=true, SizePrefixDisabled=false, TcpNoDelayEnabled=true,
MaxInactivityDurationInitalDelay=10000, MaxInactivityDuration=30000, TightEncodingEnabled=true,
StackTraceEnabled=true}, magic=[A,c,t,i,v,e,M,Q]} | org.apache.activemq.transport.WireFormatNegotiator
| ActiveMQ Transport: tcp:///192.168.2.106:55568@61616
2013-02-25 15:57:45,784 | DEBUG | tcp:///192.168.2.106:55568@61616 before negotiation: OpenWireFormat{version=9,
cacheEnabled=false, stackTraceEnabled=false, tightEncodingEnabled=false, sizePrefixDisabled=false,
maxFrameSize=157286400} | org.apache.activemq.transport.WireFormatNegotiator | ActiveMQ Transport:
tcp:///192.168.2.106:55568@61616
2013-02-25 15:57:45,784 | DEBUG | tcp:///192.168.2.106:55568@61616 after negotiation: OpenWireFormat{version=9,
cacheEnabled=true, stackTraceEnabled=true, tightEncodingEnabled=true, sizePrefixDisabled=false,
maxFrameSize=104857600} | org.apache.activemq.transport.WireFormatNegotiator | ActiveMQ Transport:
tcp:///192.168.2.106:55568@61616

I think it may be that maxFrameSize is overriden in some code, but then set back to the default
of 100MB in other code.  There is a discrepancy between values in maxFrameSize in the lines
labeled 'Using min of local', 'Received WireFormat', 'before negotiation', and 'after negotiation'.

I still think there is a bug.
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: AMQ4335SmallPayloadTest.java, AMQ4335SmallPayloadTest.java, amq4335-small.xml,
AMQ4335Test3_WithLargeGeneratedString.zip, AMQ4335_Test4_regularRunThroughOurApplication.zip,
AMQ4335Test4_With2mbMessage.zip, AMQ4335Test.java, AMQ4335Test.java, AMQ4335Test.java, amq4335.xml,
amq4335.xml, BugInActivemq.zip, max-frame-size-test.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

Mime
View raw message