diff options
author | Matthias Radestock <matthias@rabbitmq.com> | 2013-01-07 15:14:10 +0000 |
---|---|---|
committer | Matthias Radestock <matthias@rabbitmq.com> | 2013-01-07 15:14:10 +0000 |
commit | ed8cdccec294473ad56b2ae8c7e55aa8f9f7034d (patch) | |
tree | 0d8897410143cf380a6581a5ab8ff181384b3047 | |
parent | 461310b1d1a7205b9fcaa50ff41a2dd32e51b869 (diff) | |
parent | 07de428feb957283231fc94eb13e9d722ccccf2d (diff) | |
download | rabbitmq-server-ed8cdccec294473ad56b2ae8c7e55aa8f9f7034d.tar.gz |
merge default into bug25345
-rw-r--r-- | src/rabbit_amqqueue.erl | 16 | ||||
-rw-r--r-- | src/rabbit_control_main.erl | 6 |
2 files changed, 12 insertions, 10 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl index 5ce0c623..33c2cd62 100644 --- a/src/rabbit_amqqueue.erl +++ b/src/rabbit_amqqueue.erl @@ -387,14 +387,10 @@ with_exclusive_access_or_die(Name, ReaderPid, F) -> assert_args_equivalence(#amqqueue{name = QueueName, arguments = Args}, RequiredArgs) -> - rabbit_misc:assert_args_equivalence( - Args, RequiredArgs, QueueName, [<<"x-expires">>, <<"x-message-ttl">>]). + rabbit_misc:assert_args_equivalence(Args, RequiredArgs, QueueName, + [Key || {Key, _Fun} <- args()]). check_declare_arguments(QueueName, Args) -> - Checks = [{<<"x-expires">>, fun check_expires_arg/2}, - {<<"x-message-ttl">>, fun check_message_ttl_arg/2}, - {<<"x-dead-letter-exchange">>, fun check_string_arg/2}, - {<<"x-dead-letter-routing-key">>, fun check_dlxrk_arg/2}], [case rabbit_misc:table_lookup(Args, Key) of undefined -> ok; TypeVal -> case Fun(TypeVal, Args) of @@ -405,9 +401,15 @@ check_declare_arguments(QueueName, Args) -> [Key, rabbit_misc:rs(QueueName), Error]) end - end || {Key, Fun} <- Checks], + end || {Key, Fun} <- args()], ok. +args() -> + [{<<"x-expires">>, fun check_expires_arg/2}, + {<<"x-message-ttl">>, fun check_message_ttl_arg/2}, + {<<"x-dead-letter-exchange">>, fun check_string_arg/2}, + {<<"x-dead-letter-routing-key">>, fun check_dlxrk_arg/2}]. + check_string_arg({longstr, _}, _Args) -> ok; check_string_arg({Type, _}, _Args) -> {error, {unacceptable_type, Type}}. diff --git a/src/rabbit_control_main.erl b/src/rabbit_control_main.erl index 0f1620bf..8cd9f83b 100644 --- a/src/rabbit_control_main.erl +++ b/src/rabbit_control_main.erl @@ -290,9 +290,9 @@ action(forget_cluster_node, Node, [ClusterNodeS], Opts, Inform) -> action(sync_queue, Node, [Q], Opts, Inform) -> VHost = proplists:get_value(?VHOST_OPT, Opts), - Inform("Synchronising queue \"~s\" in vhost \"~s\"", [Q, VHost]), - rpc_call(Node, rabbit_control_main, sync_queue, - [rabbit_misc:r(list_to_binary(VHost), queue, list_to_binary(Q))]); + QName = rabbit_misc:r(list_to_binary(VHost), queue, list_to_binary(Q)), + Inform("Synchronising ~s", [rabbit_misc:rs(QName)]), + rpc_call(Node, rabbit_control_main, sync_queue, [QName]); action(cancel_sync_queue, Node, [Q], Opts, Inform) -> VHost = proplists:get_value(?VHOST_OPT, Opts), |