diff options
author | Emile Joubert <emile@rabbitmq.com> | 2013-10-31 17:30:28 +0000 |
---|---|---|
committer | Emile Joubert <emile@rabbitmq.com> | 2013-10-31 17:30:28 +0000 |
commit | f33c32795edc3b230068d96007b5bdcca19fbd3a (patch) | |
tree | 2ed61b9db526800066c1bed14b9dc25cf4fad71e | |
parent | cd4eee76e7bb3ea7065603ca6df33eaeea392a3a (diff) | |
parent | caf35e031b0b52efb2f8d3468cc13de1aab15be0 (diff) | |
download | rabbitmq-server-f33c32795edc3b230068d96007b5bdcca19fbd3a.tar.gz |
Merged bug25846 into stable
-rw-r--r-- | .hgignore | 1 | ||||
-rw-r--r-- | README | 2 | ||||
-rwxr-xr-x | check_xref | 20 | ||||
-rw-r--r-- | ebin/rabbit_app.in | 4 | ||||
-rw-r--r-- | packaging/RPMS/Fedora/rabbitmq-server.spec | 3 | ||||
-rw-r--r-- | packaging/common/README | 20 | ||||
-rw-r--r-- | packaging/debs/Debian/debian/rules | 1 | ||||
-rw-r--r-- | src/rabbit_channel.erl | 3 | ||||
-rw-r--r-- | src/rabbit_file.erl | 2 | ||||
-rw-r--r-- | src/rabbit_limiter.erl | 16 | ||||
-rw-r--r-- | src/vm_memory_monitor.erl | 4 |
11 files changed, 54 insertions, 22 deletions
@@ -4,6 +4,7 @@ syntax: glob *.swp *.patch *.orig +*.tmp erl_crash.dump deps.mk @@ -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 @@ -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. |