Search code examples
erlangrabbitmq

Error creating Queues in RabbitMQ


I have an environment in our company which hosts RabbitMQ 3.6.1 and Erlang 19.3. When i tried to create a queue by using RabbitMQ Management UI, I am getting the below error. I can create Exchanges and VHosts ok. It is only when I am trying to create Queues that I am getting the error. I tried to write a utility to create queues using the HTTP api but even that fails.

Upon some more researching I stumbled upon this article https://groups.google.com/d/msg/rabbitmq-users/pa1UtLbbvOE/3OlgKgMBAgAJ which says Erlang 19 is not compatible with RabbitMQ 3.6.3 and lower. Can someone confirm my findings please?

The error I am getting is Got response code 500 with body {"error":"Internal Server Error","reason":"{error,\n {exit,\n {{function_clause,\n [{rabbit_queue_location_validator,module,\n [\"random\"],\n [{file,\"src/rabbit_queue_location_validator.erl\"},\n {line,50}]},\n {rabbit_queue_location_validator,validate_strategy,1,\n [{file,\"src/rabbit_queue_location_validator.erl\"},\n {line,38}]},\n {rabbit_queue_master_location_misc,get_location_mod_by_config,\n 1,\n [{file,\"src/rabbit_queue_master_location_misc.erl\"},\n {line,88}]},\n {rabbit_queue_master_location_misc,get_location,1,\n [{file,\"src/rabbit_queue_master_location_misc.erl\"},\n {line,51}]},\n {rabbit_amqqueue,declare,6,\n [{file,\"src/rabbit_amqqueue.erl\"},{line,300}]},\n {rabbit_channel,handle_method,3,\n [{file,\"src/rabbit_channel.erl\"},{line,1331}]},\n {rabbit_channel,handle_cast,2,\n [{file,\"src/rabbit_channel.erl\"},{line,455}]},\n {gen_server2,handle_msg,2,\n [{file,\"src/gen_server2.erl\"},{line,1049}]}]},\n {gen_server,call,\n [<0.27627.105>,\n {call,\n {'queue.declare',0,<<\"Test\">>,false,true,false,false,false,\n []},\n none,<0.15368.105>},\n infinity]}},\n [{gen_server,call,3,[{file,\"gen_server.erl\"},{line,212}]},\n {rabbit_mgmt_util,'-amqp_request/5-fun-0-',4,\n [{file,\"src/rabbit_mgmt_util.erl\"},{line,579}]},\n {rabbit_mgmt_util,with_channel,5,\n [{file,\"src/rabbit_mgmt_util.erl\"},{line,598}]},\n {rabbit_mgmt_util,http_to_amqp,5,\n [{file,\"src/rabbit_mgmt_util.erl\"},{line,526}]},\n {webmachine_resource,resource_call,3,\n [{file,\"src/webmachine_resource.erl\"},{line,186}]},\n {webmachine_resource,do,3,\n [{file,\"src/webmachine_resource.erl\"},{line,142}]},\n {webmachine_decision_core,resource_call,1,\n [{file,\"src/webmachine_decision_core.erl\"},{line,48}]},\n {webmachine_decision_core,accept_helper,1,\n [{file,\"src/webmachine_decision_core.erl\"},{line,612}]}]}}\n"}


Solution

  • Thanks to @Luke Bakken for pointing me to the RabbitMQ Mailing list.

    I managed to fix the problem by changing the configuration of queue master location strategy to <<"random">>

    Please see this link for more info

    https://groups.google.com/d/msg/rabbitmq-users/XUbtu4UxbHQ/3y-PvO0oBAAJ