summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2013-01-07 15:14:10 +0000
committerMatthias Radestock <matthias@rabbitmq.com>2013-01-07 15:14:10 +0000
commit343a59f7a693ce4bad4286e2a12187946c86167f (patch)
tree0d8897410143cf380a6581a5ab8ff181384b3047
parent624ac5e44c6b3b036bd3c059ccb193ffe217aad3 (diff)
parent63ecb320663ff4475b7d3465eb1e8e60157c1207 (diff)
downloadrabbitmq-server-git-343a59f7a693ce4bad4286e2a12187946c86167f.tar.gz
merge default into bug25345
-rw-r--r--src/rabbit_amqqueue.erl16
-rw-r--r--src/rabbit_control_main.erl6
2 files changed, 12 insertions, 10 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index 5ce0c623a7..33c2cd62b0 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 0f1620bffb..8cd9f83b4e 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),