shovel plugin between different versions of erlang/rabbitmq

200 views
Skip to first unread message

Alex Corvin

unread,
Oct 8, 2015, 3:04:32 PM10/8/15
to rabbitmq-users
I am planning an upgrade of Erlang and rabbitmq-server on my production rabbitmq clusters, and have been working through the process in a lab environment to get everything nailed down. I rely pretty heavily on the shovel plugin in production. In my lab environment, my shovels fail when the source/destination rabbitmq clusters are on different versions of rabbitmq and erlang. Once I upgrade both clusters to the new version the shovels start working again.  Is this the expected behavior?

Here are some version numbers for reference:
Current versions:
rabbitmq-server-3.4.3-1
esl-erlang-R16B03-3

Target versions:
rabbitmq-server-3.5.6-1
esl-erlang-18.1-1

Michael Klishin

unread,
Oct 8, 2015, 3:58:58 PM10/8/15
to rabbitm...@googlegroups.com
Erlang version should not matter. Shovel uses a regular TCP-based clients so I find it hard to believe that RabbitMQ version matters either but there can be Shovel-specific breaking changes between feature releases.

Do you have any specific errors you can share?

Alex Corvin

unread,
Oct 8, 2015, 4:13:20 PM10/8/15
to rabbitmq-users
Looking at this a bit closer, it looks like this is an SSL issue. The shovels connect to the destination cluster using amqps.

Here's a paste of the shovel status: http://pastebin.com/QEKNU6WR

And here's a paste of the rabbitmq log output: http://pastebin.com/862MReyg

Let me know if there's any more information that would be useful.

Michael Klishin

unread,
Oct 8, 2015, 4:16:36 PM10/8/15
to rabbitm...@googlegroups.com, Alex Corvin
On 8 Oct 2015 at 23:13:25, Alex Corvin (acco...@vt.edu) wrote:
> Looking at this a bit closer, it looks like this is an SSL issue.
> The shovels connect to the destination cluster using amqps.
>
> Here's a paste of the shovel status: http://pastebin.com/QEKNU6WR
>
> And here's a paste of the rabbitmq log output: http://pastebin.com/862MReyg
>
> Let me know if there's any more information that would be useful.

    {{function_clause,
         [{tls_v1,enum_to_oid,[28],[{file,"tls_v1.erl"},{line,404}]},

is a known bug in Erlang releases prior to 17.0.

Just use 18.0 (or 18.1, if you can run RabbitMQ 3.5.6). TLS incompatibilities
(even if it’s due to genuine bugs being fixed) between Erlang releases is actually one thing
that indeed can affect Shovel and Federation.

Thank you for bringing this up, this is a useful case to tell our support team about :) 
--
MK

Staff Software Engineer, Pivotal/RabbitMQ


Alex Corvin

unread,
Oct 8, 2015, 4:18:14 PM10/8/15
to rabbitmq-users, acco...@vt.edu
Cool, thanks for the info Michael!
Reply all
Reply to author
Forward
0 new messages