Fuse Message Broker: Transport failed: java.io.IOException: Frame size of XXXMB larger than max allowed 100 MB

Solution Verified - Updated -

Environment

  • Fuse Message Broker 5.5.1

Issue

  • What does the following warning message mean?
| WARN | Transport failed: java.io.IOException: Frame size of XXXMB larger than max allowed 100 MB | org.apache.activemq.broker.TransportConnection.Transport 

Resolution

It is possible to increase the limit if you expect to deal with messages > 100MB via a url query parameter on the transport connector: ?wireformat.maxFrameSize=XX

see: http://activemq.apache.org/configuring-wire-formats.html

The parameter is available since Fuse MB 5.5.1-fuse-01-11

Root Cause

There is a limit (maxFrameSize) imposed on the size of a message to avoid OOM (Out Of Memory) exceptions while trying to unmarshall corrupt data.This "corrupt data" could be the result of a DOS (Denial Of Service) attack. More generally, this can happen if a non openwire client tries to connector to an openwire transport. The first packet is expected to be a correctly encoded connection info.

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments