[rabbitmq-discuss] Dynamic Shovel parameter validation regression between RMQ 3.3.0 and 3.3.1?

vish.ramachandran vish.ramachandran at gmail.com
Tue Jun 3 07:31:04 BST 2014


Hi RMQ team,

Following command used to work with RMQ 3.3.0. However, with RMQ 3.3.1, it
does not work anymore.

~/Documents/rabbitScripts$ rabbitmqctl set_parameter -p myvhost shovel
testShovel '{"src-uri": "amqp://myuser@/myvhost", "src-queue":
"mysourceExchange", "dest-uri": ["amqp://destrmq1.example.com",
"amqp://destrmq1.example.com"], "dest-exchange": "myDestExchange",
"dest-exchange-key" : "routingKey"}'
Setting runtime parameter "testShovel" for component "shovel" to
"{\"src-uri\": \"amqp://myuser@/myvhost\", \"src-queue\":
\"mysourceExchange\", \"dest-uri\": [\"amqp://destrmq1.example.com\",
\"amqp://destrmq1.example.com\"], \"dest-exchange\": \"myDestExchange\",
\"dest-exchange-key\" : \"routingKey\"}" ...
Error: {function_clause,
           [{rabbit_shovel_parameters,validate_params_user,
                [{amqp_params_direct,<<"myuser">>,none,<<"myvhost">>,
                     'rabbit at vishr-mac1',none,[]},
                 none],
                [{file,"rabbitmq-shovel/src/rabbit_shovel_parameters.erl"},
                 {line,115}]},
            {rabbit_parameter_validation,'-proplist/3-fun-0-',3,
                [{file,"src/rabbit_parameter_validation.erl"},{line,59}]},
            {lists,foldl,3,[{file,"lists.erl"},{line,1248}]},
            {rabbit_parameter_validation,proplist,3,
                [{file,"src/rabbit_parameter_validation.erl"},{line,55}]},
            {rabbit_shovel_parameters,validate,5,
                [{file,"rabbitmq-shovel/src/rabbit_shovel_parameters.erl"},
                 {line,55}]},
            {rabbit_runtime_parameters,set_any0,5,
                [{file,"src/rabbit_runtime_parameters.erl"},{line,99}]},
            {rabbit_runtime_parameters,set_any,5,
                [{file,"src/rabbit_runtime_parameters.erl"},{line,90}]},
            {rpc,'-handle_call_call/6-fun-0-',5,
                [{file,"rpc.erl"},{line,205}]}]}


However, if we add "localhost" to the source URI, it works: 

~/Documents/rabbitScripts$ rabbitmqctl set_parameter -p myvhost shovel
testShovel '{"src-uri": "amqp://myuser@localhost/myvhost", "src-queue":
"mysourceExchange", "dest-uri": ["amqp://destrmq1.example.com",
"amqp://destrmq1.example.com"], "dest-exchange": "myDestExchange",
"dest-exchange-key" : "routingKey"}'
Setting runtime parameter "testShovel" for component "shovel" to
"{\"src-uri\": \"amqp://myuser@localhost/myvhost\", \"src-queue\":
\"mysourceExchange\", \"dest-uri\": [\"amqp://destrmq1.example.com\",
\"amqp://destrmq1.example.com\"], \"dest-exchange\": \"myDestExchange\",
\"dest-exchange-key\" : \"routingKey\"}" ...
...done.
~/Documents/rabbitScripts$


>From the static shovel documentation at
http://www.rabbitmq.com/shovel-static.html

"If the host is omitted (not valid in a general AMQP URI), the shovel uses a
direct connection to the broker in which it is running. This avoids using
the network stack."

Has the support for this direct access been removed in 3.3.1 ? This used to
work for 3.3.0.

Thanks
Vish



--
View this message in context: http://rabbitmq.1065348.n5.nabble.com/Dynamic-Shovel-parameter-validation-regression-between-RMQ-3-3-0-and-3-3-1-tp35995.html
Sent from the RabbitMQ mailing list archive at Nabble.com.


More information about the rabbitmq-discuss mailing list