diff options
| author | Matthew Sackman <matthew@lshift.net> | 2009-08-17 11:11:32 +0100 |
|---|---|---|
| committer | Matthew Sackman <matthew@lshift.net> | 2009-08-17 11:11:32 +0100 |
| commit | dbb7fb7bd593f97b58d72cad6b1890baf4e1bcb0 (patch) | |
| tree | 9ee46f95067e246d534ad0ad8afc192c9d67e1dd | |
| parent | 68fbf57b46cfd5a8bf8de4515373b356ee141707 (diff) | |
| download | rabbitmq-server-git-dbb7fb7bd593f97b58d72cad6b1890baf4e1bcb0.tar.gz | |
Changes to avoid having strings going to binaries going to strings going to atoms in the control.
Also dialyzer spotted that multiplying by 2.5 can sometimes result in not-an-int. 'Atta boy.
| -rw-r--r-- | src/rabbit_amqqueue.erl | 5 | ||||
| -rw-r--r-- | src/rabbit_control.erl | 6 | ||||
| -rw-r--r-- | src/rabbit_disk_queue.erl | 3 |
3 files changed, 8 insertions, 6 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl index f0e8d4c2f4..62ea465daa 100644 --- a/src/rabbit_amqqueue.erl +++ b/src/rabbit_amqqueue.erl @@ -102,7 +102,7 @@ -spec(basic_cancel/4 :: (amqqueue(), pid(), ctag(), any()) -> 'ok'). -spec(notify_sent/2 :: (pid(), pid()) -> 'ok'). -spec(unblock/2 :: (pid(), pid()) -> 'ok'). --spec(set_mode_pin/3 :: (binary(), binary(), binary()) -> any()). +-spec(set_mode_pin/3 :: (vhost(), resource_name(), ('disk'|'mixed')) -> any()). -spec(set_mode/2 :: (pid(), ('disk' | 'mixed')) -> 'ok'). -spec(internal_declare/2 :: (amqqueue(), bool()) -> amqqueue()). -spec(internal_delete/1 :: (queue_name()) -> 'ok' | not_found()). @@ -225,9 +225,8 @@ list(VHostPath) -> map(VHostPath, F) -> rabbit_misc:filter_exit_map(F, list(VHostPath)). -set_mode_pin(VHostPath, Queue, DiskBin) +set_mode_pin(VHostPath, Queue, Disk) when is_binary(VHostPath) andalso is_binary(Queue) -> - Disk = list_to_atom(binary_to_list(DiskBin)), with(rabbit_misc:r(VHostPath, queue, Queue), fun(Q) -> case Disk of true -> rabbit_queue_mode_manager:pin_to_disk diff --git a/src/rabbit_control.erl b/src/rabbit_control.erl index 79578000d2..99bbb74252 100644 --- a/src/rabbit_control.erl +++ b/src/rabbit_control.erl @@ -289,12 +289,14 @@ action(Command, Node, Args, Inform) -> action(pin_queue_to_disk, Node, VHost, [Queue], Inform) -> Inform("Pinning queue ~p in vhost ~p to disk", [Queue, VHost]), - call(Node, {rabbit_amqqueue, set_mode_pin, [VHost, Queue, "true"]}); + rpc_call(Node, rabbit_amqqueue, set_mode_pin, + [list_to_binary(VHost), list_to_binary(Queue), true]); action(unpin_queue_from_disk, Node, VHost, [Queue], Inform) -> Inform("Unpinning queue ~p in vhost ~p from disk", [Queue, VHost]), - call(Node, {rabbit_amqqueue, set_mode_pin, [VHost, Queue, "false"]}); + rpc_call(Node, rabbit_amqqueue, set_mode_pin, + [list_to_binary(VHost), list_to_binary(Queue), false]); action(set_permissions, Node, VHost, [Username, CPerm, WPerm, RPerm], Inform) -> Inform("Setting permissions for user ~p in vhost ~p", [Username, VHost]), diff --git a/src/rabbit_disk_queue.erl b/src/rabbit_disk_queue.erl index 0d5b6a04f5..5940f5ad04 100644 --- a/src/rabbit_disk_queue.erl +++ b/src/rabbit_disk_queue.erl @@ -622,7 +622,8 @@ start_memory_timer(State) -> report_memory(Hibernating, State) -> Bytes = memory_use(State), - rabbit_queue_mode_manager:report_memory(self(), 2.5 * Bytes, Hibernating). + rabbit_queue_mode_manager:report_memory(self(), trunc(2.5 * Bytes), + Hibernating). memory_use(#dqstate { operation_mode = ram_disk, file_summary = FileSummary, |
