summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmile Joubert <emile@rabbitmq.com>2013-10-31 17:30:28 +0000
committerEmile Joubert <emile@rabbitmq.com>2013-10-31 17:30:28 +0000
commitf33c32795edc3b230068d96007b5bdcca19fbd3a (patch)
tree2ed61b9db526800066c1bed14b9dc25cf4fad71e
parentcd4eee76e7bb3ea7065603ca6df33eaeea392a3a (diff)
parentcaf35e031b0b52efb2f8d3468cc13de1aab15be0 (diff)
downloadrabbitmq-server-f33c32795edc3b230068d96007b5bdcca19fbd3a.tar.gz
Merged bug25846 into stable
-rw-r--r--.hgignore1
-rw-r--r--README2
-rwxr-xr-xcheck_xref20
-rw-r--r--ebin/rabbit_app.in4
-rw-r--r--packaging/RPMS/Fedora/rabbitmq-server.spec3
-rw-r--r--packaging/common/README20
-rw-r--r--packaging/debs/Debian/debian/rules1
-rw-r--r--src/rabbit_channel.erl3
-rw-r--r--src/rabbit_file.erl2
-rw-r--r--src/rabbit_limiter.erl16
-rw-r--r--src/vm_memory_monitor.erl4
11 files changed, 54 insertions, 22 deletions
diff --git a/.hgignore b/.hgignore
index cd017298..05850b03 100644
--- a/.hgignore
+++ b/.hgignore
@@ -4,6 +4,7 @@ syntax: glob
*.swp
*.patch
*.orig
+*.tmp
erl_crash.dump
deps.mk
diff --git a/README b/README
index 67e3a66a..90e99e62 100644
--- a/README
+++ b/README
@@ -1 +1 @@
-Please see http://www.rabbitmq.com/build-server.html for build instructions.
+Please see http://www.rabbitmq.com/build-server.html for build instructions. \ No newline at end of file
diff --git a/check_xref b/check_xref
index 24307fdb..21eb14b9 100755
--- a/check_xref
+++ b/check_xref
@@ -133,16 +133,20 @@ process_analysis(Query, Tag, Severity, Analysis) when is_list(Query) ->
checks() ->
[{"(XXL)(Lin) ((XC - UC) || (XU - X - B))",
"has call to undefined function(s)",
- error, filters()},
- {"(Lin) (L - LU)", "has unused local function(s)",
- error, filters()},
+ error, filters()},
+ {"(Lin) (L - LU)",
+ "has unused local function(s)",
+ error, filters()},
+ {"(E | \"(rabbit|amqp).*\":_/_ || \"gen_server2?\":call/2)",
+ "has 5 sec timeout in",
+ error, filters()},
{"(Lin) (LU * (X - XU))",
- "has exported function(s) only used locally",
- warning, filters()},
+ "has exported function(s) only used locally",
+ warning, filters()},
{"(Lin) (DF * (XU + LU))", "used deprecated function(s)",
- warning, filters()}].
-% {"(Lin) (X - XU)", "possibly unused export",
-% warning, fun filter_unused/1}].
+ warning, filters()}].
+%% {"(Lin) (X - XU)", "possibly unused export",
+%% warning, fun filter_unused/1}].
%%
%% noise filters (can be disabled with -X) - strip uninteresting analyses
diff --git a/ebin/rabbit_app.in b/ebin/rabbit_app.in
index 6ee0115b..a10bad45 100644
--- a/ebin/rabbit_app.in
+++ b/ebin/rabbit_app.in
@@ -1,4 +1,4 @@
-{application, rabbit, %% -*- erlang -*-
+{application, rabbit, %% -*- erlang -*-
[{description, "RabbitMQ"},
{id, "RabbitMQ"},
{vsn, "%%VSN%%"},
@@ -25,7 +25,7 @@
%% 0 ("no limit") would make a better default, but that
%% breaks the QPid Java client
{frame_max, 131072},
- {heartbeat, 600},
+ {heartbeat, 580},
{msg_store_file_size_limit, 16777216},
{queue_index_max_journal_entries, 65536},
{default_user, <<"guest">>},
diff --git a/packaging/RPMS/Fedora/rabbitmq-server.spec b/packaging/RPMS/Fedora/rabbitmq-server.spec
index ff2d18aa..05140e3c 100644
--- a/packaging/RPMS/Fedora/rabbitmq-server.spec
+++ b/packaging/RPMS/Fedora/rabbitmq-server.spec
@@ -10,6 +10,7 @@ Source1: rabbitmq-server.init
Source2: rabbitmq-script-wrapper
Source3: rabbitmq-server.logrotate
Source4: rabbitmq-server.ocf
+Source5: README
URL: http://www.rabbitmq.com/
BuildArch: noarch
BuildRequires: erlang >= R13B-03, python-simplejson, xmlto, libxslt
@@ -41,6 +42,7 @@ scalable implementation of an AMQP broker.
%build
cp %{S:2} %{_rabbit_wrapper}
cp %{S:4} %{_rabbit_server_ocf}
+cp %{S:5} %{_builddir}/rabbitmq-server-%{version}/README
make %{?_smp_mflags}
%install
@@ -121,6 +123,7 @@ done
%{_initrddir}/rabbitmq-server
%config(noreplace) %{_sysconfdir}/logrotate.d/rabbitmq-server
%doc LICENSE*
+%doc README
%doc docs/rabbitmq.config.example
%clean
diff --git a/packaging/common/README b/packaging/common/README
new file mode 100644
index 00000000..0a29ee27
--- /dev/null
+++ b/packaging/common/README
@@ -0,0 +1,20 @@
+This is rabbitmq-server, a message broker implementing AMQP, STOMP and MQTT.
+
+Most of the documentation for RabbitMQ is provided on the RabbitMQ web
+site. You can see documentation for the current version at:
+
+http://www.rabbitmq.com/documentation.html
+
+and for previous versions at:
+
+http://www.rabbitmq.com/previous.html
+
+Man pages are installed with this package. Of particular interest are
+rabbitmqctl(1), to interact with a running RabbitMQ server, and
+rabbitmq-plugins(1), to enable and disable plugins. These should be
+run as the superuser.
+
+An example configuration file is provided in the same directory as
+this README. Copy it to /etc/rabbitmq/rabbitmq.config to use it. The
+RabbitMQ server must be restarted after changing the configuration
+file or enabling or disabling plugins.
diff --git a/packaging/debs/Debian/debian/rules b/packaging/debs/Debian/debian/rules
index a1498979..b3c96069 100644
--- a/packaging/debs/Debian/debian/rules
+++ b/packaging/debs/Debian/debian/rules
@@ -9,6 +9,7 @@ RABBIT_BIN=$(DEB_DESTDIR)usr/lib/rabbitmq/bin/
DOCDIR=$(DEB_DESTDIR)usr/share/doc/rabbitmq-server/
DEB_MAKE_INSTALL_TARGET := install TARGET_DIR=$(RABBIT_LIB) SBIN_DIR=$(RABBIT_BIN) DOC_INSTALL_DIR=$(DOCDIR) MAN_DIR=$(DEB_DESTDIR)usr/share/man/
DEB_MAKE_CLEAN_TARGET:= distclean
+DEB_INSTALL_DOCS_ALL=debian/README
install/rabbitmq-server::
mkdir -p $(DOCDIR)
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl
index dc37959b..a3a0c754 100644
--- a/src/rabbit_channel.erl
+++ b/src/rabbit_channel.erl
@@ -177,7 +177,8 @@ info_all(Items) ->
refresh_config_local() ->
rabbit_misc:upmap(
- fun (C) -> gen_server2:call(C, refresh_config) end, list_local()),
+ fun (C) -> gen_server2:call(C, refresh_config, infinity) end,
+ list_local()),
ok.
ready_for_close(Pid) ->
diff --git a/src/rabbit_file.erl b/src/rabbit_file.erl
index 4cf314ca..1a766b05 100644
--- a/src/rabbit_file.erl
+++ b/src/rabbit_file.erl
@@ -181,8 +181,8 @@ with_synced_copy(Path, Modes, Fun) ->
{ok, Hdl} ->
try
Result = Fun(Hdl),
- ok = prim_file:rename(Bak, Path),
ok = prim_file:sync(Hdl),
+ ok = prim_file:rename(Bak, Path),
Result
after
prim_file:close(Hdl)
diff --git a/src/rabbit_limiter.erl b/src/rabbit_limiter.erl
index 12a13c00..22da465b 100644
--- a/src/rabbit_limiter.erl
+++ b/src/rabbit_limiter.erl
@@ -197,24 +197,25 @@ start_link() -> gen_server2:start_link(?MODULE, [], []).
new(Pid) ->
%% this a 'call' to ensure that it is invoked at most once.
- ok = gen_server:call(Pid, {new, self()}),
+ ok = gen_server:call(Pid, {new, self()}, infinity),
#lstate{pid = Pid, prefetch_limited = false, blocked = false}.
limit_prefetch(L, PrefetchCount, UnackedCount) when PrefetchCount > 0 ->
- ok = gen_server:call(L#lstate.pid,
- {limit_prefetch, PrefetchCount, UnackedCount}),
+ ok = gen_server:call(
+ L#lstate.pid,
+ {limit_prefetch, PrefetchCount, UnackedCount}, infinity),
L#lstate{prefetch_limited = true}.
unlimit_prefetch(L) ->
- ok = gen_server:call(L#lstate.pid, unlimit_prefetch),
+ ok = gen_server:call(L#lstate.pid, unlimit_prefetch, infinity),
L#lstate{prefetch_limited = false}.
block(L) ->
- ok = gen_server:call(L#lstate.pid, block),
+ ok = gen_server:call(L#lstate.pid, block, infinity),
L#lstate{blocked = true}.
unblock(L) ->
- ok = gen_server:call(L#lstate.pid, unblock),
+ ok = gen_server:call(L#lstate.pid, unblock, infinity),
L#lstate{blocked = false}.
is_prefetch_limited(#lstate{prefetch_limited = Limited}) -> Limited.
@@ -224,7 +225,8 @@ is_blocked(#lstate{blocked = Blocked}) -> Blocked.
is_active(L) -> is_prefetch_limited(L) orelse is_blocked(L).
get_prefetch_limit(#lstate{prefetch_limited = false}) -> 0;
-get_prefetch_limit(L) -> gen_server:call(L#lstate.pid, get_prefetch_limit).
+get_prefetch_limit(L) ->
+ gen_server:call(L#lstate.pid, get_prefetch_limit, infinity).
ack(#lstate{prefetch_limited = false}, _AckCount) -> ok;
ack(L, AckCount) -> gen_server:cast(L#lstate.pid, {ack, AckCount}).
diff --git a/src/vm_memory_monitor.erl b/src/vm_memory_monitor.erl
index a07f6c65..369ec655 100644
--- a/src/vm_memory_monitor.erl
+++ b/src/vm_memory_monitor.erl
@@ -221,11 +221,11 @@ get_vm_limit({win32,_OSname}) ->
8 -> 8*1024*1024*1024*1024 %% 8 TB for 64 bits 2^42
end;
-%% On a 32-bit machine, if you're using more than 4 gigs of RAM you're
+%% On a 32-bit machine, if you're using more than 2 gigs of RAM you're
%% in big trouble anyway.
get_vm_limit(_OsType) ->
case erlang:system_info(wordsize) of
- 4 -> 4*1024*1024*1024; %% 4 GB for 32 bits 2^32
+ 4 -> 2*1024*1024*1024; %% 2 GB for 32 bits 2^31
8 -> 256*1024*1024*1024*1024 %% 256 TB for 64 bits 2^48
%%http://en.wikipedia.org/wiki/X86-64#Virtual_address_space_details
end.