RabbitMQ output does not correctly split large messages into multiple frames

Description

Using the elasticsearch_river output, it's easily possible to try to write out AMQP frames which are too large for rabbitmq (default is 120k).

This breaks everything, as logstash continually connects and tries to publish the poison message.

Instead, logstash should respect the max frame size negotiated with the AMQP server, and send large messages as multiple frames.

It's possible to work around this in RabbitMQ, by setting:
[
{rabbit, [
{frame_max, 0}]}
].

in the rabbitmq.config

But it would be better if the AMQP client used was spec compliant (and broke larger messages up into multiple AMQP frames).

Environment

None

Status

Assignee

Logstash Developers

Reporter

Tomas Doran

Labels

None

Fix versions

Affects versions

Priority

Configure