summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@lshift.net>2009-01-12 17:06:58 +0000
committerMatthias Radestock <matthias@lshift.net>2009-01-12 17:06:58 +0000
commit41296d3cb8c288b02d5b9c459c1b15bedad69b4c (patch)
treeafbc92dfe3ea05c5b82496237d3a5dcf9319d08d
parent064fcf8211db27cb2fff152c9a7eb9d91b95e3c4 (diff)
parent7ba53400eec4523c8ba7eac7a288527b307d2725 (diff)
downloadrabbitmq-server-41296d3cb8c288b02d5b9c459c1b15bedad69b4c.tar.gz
merge bug20098 into v1_5_1
-rw-r--r--packaging/debs/Debian/debian/postinst4
-rw-r--r--src/rabbit_amqqueue_process.erl3
-rw-r--r--src/rabbit_control.erl20
3 files changed, 17 insertions, 10 deletions
diff --git a/packaging/debs/Debian/debian/postinst b/packaging/debs/Debian/debian/postinst
index 495b8331..05fb179c 100644
--- a/packaging/debs/Debian/debian/postinst
+++ b/packaging/debs/Debian/debian/postinst
@@ -25,8 +25,8 @@ fi
# create rabbitmq user
if ! getent passwd rabbitmq >/dev/null; then
- adduser --system --ingroup rabbitmq --home /var/lib/rabbitmq --no-create-home rabbitmq
- usermod -c "RabbitMQ messaging server" rabbitmq
+ adduser --system --ingroup rabbitmq --home /var/lib/rabbitmq \
+ --no-create-home --gecos "RabbitMQ messaging server" rabbitmq
fi
chown -R rabbitmq:rabbitmq /var/lib/rabbitmq
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl
index 709e355e..6282a8fb 100644
--- a/src/rabbit_amqqueue_process.erl
+++ b/src/rabbit_amqqueue_process.erl
@@ -488,7 +488,8 @@ i(name, #q{q = #amqqueue{name = Name}}) -> Name;
i(durable, #q{q = #amqqueue{durable = Durable}}) -> Durable;
i(auto_delete, #q{q = #amqqueue{auto_delete = AutoDelete}}) -> AutoDelete;
i(arguments, #q{q = #amqqueue{arguments = Arguments}}) -> Arguments;
-i(pid, #q{q = #amqqueue{pid = Pid}}) -> Pid;
+i(pid, _) ->
+ self();
i(messages_ready, #q{message_buffer = MessageBuffer}) ->
queue:len(MessageBuffer);
i(messages_unacknowledged, _) ->
diff --git a/src/rabbit_control.erl b/src/rabbit_control.erl
index ecc285a5..1e07f6d2 100644
--- a/src/rabbit_control.erl
+++ b/src/rabbit_control.erl
@@ -138,7 +138,7 @@ The list_queues, list_exchanges and list_bindings commands accept an optional
virtual host parameter for which to display results. The default value is \"/\".
<QueueInfoItem> must be a member of the list [name, durable, auto_delete,
-arguments, pid, messages_ready, messages_unacknowledged, messages_uncommitted,
+arguments, node, messages_ready, messages_unacknowledged, messages_uncommitted,
messages, acks_uncommitted, consumers, transactions, memory]. The default is
to display name and (number of) messages.
@@ -148,7 +148,7 @@ auto_delete, arguments]. The default is to display name and type.
The output format for \"list_bindings\" is a list of rows containing
exchange name, routing key, queue name and arguments, in that order.
-<ConnectionInfoItem> must be a member of the list [pid, address, port,
+<ConnectionInfoItem> must be a member of the list [node, address, port,
peer_address, peer_port, state, channels, user, vhost, timeout, frame_max,
recv_oct, recv_cnt, send_oct, send_cnt, send_pend]. The default is to display
user, peer_address and peer_port.
@@ -242,7 +242,8 @@ action(list_vhost_users, Node, Args = [_VHostPath], Inform) ->
action(list_queues, Node, Args, Inform) ->
Inform("Listing queues", []),
{VHostArg, RemainingArgs} = parse_vhost_flag(Args),
- ArgAtoms = default_if_empty(RemainingArgs, [name, messages]),
+ ArgAtoms = list_replace(node, pid,
+ default_if_empty(RemainingArgs, [name, messages])),
display_info_list(rpc_call(Node, rabbit_amqqueue, info_all,
[VHostArg, ArgAtoms]),
ArgAtoms);
@@ -267,7 +268,8 @@ action(list_bindings, Node, Args, Inform) ->
action(list_connections, Node, Args, Inform) ->
Inform("Listing connections", []),
- ArgAtoms = default_if_empty(Args, [user, peer_address, peer_port]),
+ ArgAtoms = list_replace(node, pid,
+ default_if_empty(Args, [user, peer_address, peer_port])),
display_info_list(rpc_call(Node, rabbit_networking, connection_info_all,
[ArgAtoms]),
ArgAtoms).
@@ -308,9 +310,10 @@ format_info_item(Items, Key) ->
case Info of
{_, #resource{name = Name}} ->
url_encode(Name);
- {Key, IpAddress} when Key =:= address; Key =:= peer_address
- andalso is_tuple(IpAddress) ->
- inet_parse:ntoa(IpAddress);
+ _ when Key =:= address; Key =:= peer_address andalso is_tuple(Value) ->
+ inet_parse:ntoa(Value);
+ _ when is_pid(Value) ->
+ atom_to_list(node(Value));
_ when is_binary(Value) ->
url_encode(Value);
_ ->
@@ -357,3 +360,6 @@ url_encode_char([], Acc) ->
d2h(N) when N<10 -> N+$0;
d2h(N) -> N+$a-10.
+list_replace(Find, Replace, List) ->
+ [case X of Find -> Replace; _ -> X end || X <- List].
+