diff options
| -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, |
