Rene Wooller
Rene Wooller

Reputation: 1147

RabbitMQ shovels badmatch for anything other than default uri

I am on RMQ version 3.6.0.

Creating a shovel using the default 'amqp://' uri for source and target, and the default '/' v-host works fine.

However whenever I use a different vhost, or a different user it doesn't work. This includes stating the default v-host explicitly using %2F also. I tried with and without %2F for both the default v-host and the other v-host. I tried going from the default vhost to the new vhost and visa versa. I tried with and without username, password and made an admin account with a simple password to rule out % encoding issues of the password. I tried with and without the host (domain name). I tried with and without the cluster name. I tried with and without the port (5672).

Despite trying all these combinations, the shovel is stuck in starting state, because of a badmatch error:

crasher: initial call: gen:init_it/6 pid: <0.27614.7287> registered_name: [] exception exit: {{badmatch,{error,etimedout}}, [{rabbit_shovel_worker,make_conn_and_chan,1, [{file,"src/rabbit_shovel_worker.erl"},{line,236}]}, {rabbit_shovel_worker,handle_cast,2, [{file,"src/rabbit_shovel_worker.erl"},{line,62}]}, {gen_server2,handle_msg,2, [{file,"src/gen_server2.erl"},{line,1049}]}, {proc_lib,init_p_do_apply,3, [{file,"proc_lib.erl"},{line,240}]}]} in function gen_server2:terminate/3 (src/gen_server2.erl, line 1160) ancestors: [<0.3813.7286>,<0.536.0>,rabbit_shovel_dyn_worker_sup_sup, rabbit_shovel_sup,<0.532.0>] messages: [] links: [<0.3813.7286>] dictionary: [{random_seed,{26721,25702,22425}}] trap_exit: false status: running heap_size: 987 stack_size: 27 reductions: 1577 neighbours:

Upvotes: 0

Views: 1154

Answers (1)

Rene Wooller
Rene Wooller

Reputation: 1147

So, just for anyone else who comes across this problem.

It actually ended up being the old %2F problem.

the vhost was named '/dev'

The source and target URI of

amqp:///%2Fdev

For vhosts without the slash, it was just eg

amqp:///dev

worked in the end.

Upvotes: 1

Related Questions