summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@rabbitmq.com>2011-06-08 11:48:18 +0100
committerMatthew Sackman <matthew@rabbitmq.com>2011-06-08 11:48:18 +0100
commit7e4b8347aa698223b6c0a3174f0c3e5a494a4d4c (patch)
treeabdee6e3ab9e2ab8c7bd452884058972706d4013
parent0b376497cd2eebd5c8522076a24b36a147c5ab37 (diff)
downloadrabbitmq-server-bug24161.tar.gz
Avoid rpc:call/4bug24161
-rw-r--r--src/rabbit_control.erl3
-rw-r--r--src/rabbit_misc.erl2
-rw-r--r--src/rabbit_mnesia.erl5
-rw-r--r--src/rabbit_upgrade.erl4
4 files changed, 7 insertions, 7 deletions
diff --git a/src/rabbit_control.erl b/src/rabbit_control.erl
index 355ac549..33e48966 100644
--- a/src/rabbit_control.erl
+++ b/src/rabbit_control.erl
@@ -19,7 +19,6 @@
-export([start/0, stop/0, action/5, diagnostics/1]).
--define(RPC_TIMEOUT, infinity).
-define(WAIT_FOR_VM_ATTEMPTS, 5).
-define(QUIET_OPT, "-q").
@@ -450,7 +449,7 @@ call(Node, {Mod, Fun, Args}) ->
rpc_call(Node, Mod, Fun, lists:map(fun list_to_binary/1, Args)).
rpc_call(Node, Mod, Fun, Args) ->
- rpc:call(Node, Mod, Fun, Args, ?RPC_TIMEOUT).
+ rpc:call(Node, Mod, Fun, Args, ?MAX_WAIT).
%% escape does C-style backslash escaping of non-printable ASCII
%% characters. We don't escape characters above 127, since they may
diff --git a/src/rabbit_misc.erl b/src/rabbit_misc.erl
index b6b97f6d..90103f17 100644
--- a/src/rabbit_misc.erl
+++ b/src/rabbit_misc.erl
@@ -906,7 +906,7 @@ ntoab(IP) ->
is_process_alive(Pid) when node(Pid) =:= node() ->
erlang:is_process_alive(Pid);
is_process_alive(Pid) ->
- case rpc:call(node(Pid), erlang, is_process_alive, [Pid]) of
+ case rpc:call(node(Pid), erlang, is_process_alive, [Pid], ?MAX_WAIT) of
true -> true;
_ -> false
end.
diff --git a/src/rabbit_mnesia.erl b/src/rabbit_mnesia.erl
index 568b9ce6..d8489ced 100644
--- a/src/rabbit_mnesia.erl
+++ b/src/rabbit_mnesia.erl
@@ -455,7 +455,8 @@ init_db(ClusterNodes, Force, SecondaryPostMnesiaFun) ->
{[AnotherNode|_], _} ->
%% Subsequent node in cluster, catch up
ensure_version_ok(
- rpc:call(AnotherNode, rabbit_version, recorded, [])),
+ rpc:call(AnotherNode, rabbit_version, recorded, [],
+ ?MAX_WAIT)),
IsDiskNode = ClusterNodes == [] orelse
lists:member(node(), ClusterNodes),
ok = wait_for_replicated_tables(),
@@ -648,7 +649,7 @@ leave_cluster(Nodes, RunningNodes) ->
case lists:any(
fun (Node) ->
case rpc:call(Node, mnesia, del_table_copy,
- [schema, node()]) of
+ [schema, node()], ?MAX_WAIT) of
{atomic, ok} -> true;
{badrpc, nodedown} -> false;
{aborted, Reason} ->
diff --git a/src/rabbit_upgrade.erl b/src/rabbit_upgrade.erl
index a2abb1e5..e70c8524 100644
--- a/src/rabbit_upgrade.erl
+++ b/src/rabbit_upgrade.erl
@@ -171,7 +171,7 @@ upgrade_mode(AllNodes) ->
[ClusterVersion, MyVersion])
end,
case rpc:call(Another, rabbit_version, desired_for_scope,
- [mnesia]) of
+ [mnesia], ?MAX_WAIT) of
{badrpc, {'EXIT', {undef, _}}} -> ErrFun(unknown_old_version);
{badrpc, Reason} -> ErrFun({unknown, Reason});
CV -> case rabbit_version:matches(
@@ -237,7 +237,7 @@ nodes_running(Nodes) ->
[N || N <- Nodes, node_running(N)].
node_running(Node) ->
- case rpc:call(Node, application, which_applications, []) of
+ case rpc:call(Node, application, which_applications, [], ?MAX_WAIT) of
{badrpc, _} -> false;
Apps -> lists:keysearch(rabbit, 1, Apps) =/= false
end.