Started to see this error today, and I have no idea whats causing it or what it means. Any help/info would be MUCH appreciated.
ActiveRecord::StatementInvalid: Bunny::FrameError: Connection-level error: FRAME_ERROR - cannot decode <<0,0,7,116,105,99,107,101,116,115,196,141,116,105,99,107,101,116,46,117,112,100,97,116,101,100,46,117,112,100,97,116,101,100,95,97,116,46,116,105,99,107,101,116,95,115,116,97,116,117,115,95,116,121,112,101,95,105,100,46,117
I have no idea how ActiveRecord::StatementInvalid fits into the picture but the issue is what the message says: Bunny gets a frame it cannot decode.
Payload decodes to
Note that it has unprintable (or at least non-ASCII) characters in the beginning.
Ah thanks, that looks like the routing key. How did you decode that (sorry noob to bunny/rabbit)? Is there a rabbitmq limit on routing key length that could also cause an issue?
Thanks for the fast response, really appreciate it.
Routing key is shortstr in the protocol, which is limited to 255 characters (<= 255 in RabbitMQ server code, to be specific).
I suspect there may be an off-by-1 error in amq-protocol, so routing keys exactly 255 characters long can't be parsed.
I decoded the list of integers using Erlang shell:
6> A = [0,0,7,116,105,99,107,101,116,115,196,141,116,105,99,107,101,116,46,117,112,100,97,116,101,100,46,117,112,100,97,116,101,100,95,97,116,46,116,105,99,107,101,116,95,115,116,97,116,117,115,95,116,121,112,101,95,105,100,46,117].
7> io:format("~s~n", [A]).
Great, thanks again, I am able to solve my issue now.
Reject publishes with routing key longer than shortstr (255 characters)