Bug#986846: unblock: rabbitmq-server/3.8.9-3
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock package rabbitmq-server
There's a nasty bug when rabbit parses its config file.
If rabbit missreads it, it may incorrectly size its memory
footpring, leading to a (maybe) non-functional service that
doesn't allocate enough memory.
The proposed new release includes a patch from upstream
to fix the situation.
Please unblock rabbitmq-server/3.8.9-3
Cheers,
Thomas Goirand (zigo)
diff -Nru rabbitmq-server-3.8.9/debian/changelog rabbitmq-server-3.8.9/debian/changelog
--- rabbitmq-server-3.8.9/debian/changelog 2021-03-26 14:24:32.000000000 +0100
+++ rabbitmq-server-3.8.9/debian/changelog 2021-04-10 22:59:57.000000000 +0200
@@ -1,3 +1,10 @@
+rabbitmq-server (3.8.9-3) unstable; urgency=medium
+
+ [ Adam Cecile ]
+ * Merge upstream PR #2965 fixing rabbitmqctl parsing bug. (Closes: #986734)
+
+ -- Thomas Goirand <zigo@debian.org> Sat, 10 Apr 2021 22:59:57 +0200
+
rabbitmq-server (3.8.9-2) unstable; urgency=medium
* Do not use the /usr/sbin/rabbitmq-server wrapper in systemd service file
diff -Nru rabbitmq-server-3.8.9/debian/patches/series rabbitmq-server-3.8.9/debian/patches/series
--- rabbitmq-server-3.8.9/debian/patches/series 2021-03-26 14:24:32.000000000 +0100
+++ rabbitmq-server-3.8.9/debian/patches/series 2021-04-10 22:59:57.000000000 +0200
@@ -1,2 +1,3 @@
lets-use-python3-not-python-binary.patch
rabbitmq-dist.mk.patch
+Upstream_PR2965_fixing_rabbitmqctl_parsing
diff -Nru rabbitmq-server-3.8.9/debian/patches/Upstream_PR2965_fixing_rabbitmqctl_parsing rabbitmq-server-3.8.9/debian/patches/Upstream_PR2965_fixing_rabbitmqctl_parsing
--- rabbitmq-server-3.8.9/debian/patches/Upstream_PR2965_fixing_rabbitmqctl_parsing 1970-01-01 01:00:00.000000000 +0100
+++ rabbitmq-server-3.8.9/debian/patches/Upstream_PR2965_fixing_rabbitmqctl_parsing 2021-04-10 22:59:57.000000000 +0200
@@ -0,0 +1,44 @@
+Description: Fix incorrect parsing of vm_memory_high_watermark
+ Upstream bug:
+ https://github.com/rabbitmq/rabbitmq-server/issues/2964
+Author: Michael Klishin <michael@clojurewerkz.org>
+Origin: upstream, https://github.com/rabbitmq/rabbitmq-server/pull/2965
+Bug-Debian: https://bugs.debian.org/986734
+Reviewed-By: Adam Cecile <acecile@letz-it.lu>
+Last-Update: 2021-04-10
+
+--- rabbitmq-server-3.8.9.orig/deps/rabbit/src/rabbit_disk_monitor.erl
++++ rabbitmq-server-3.8.9/deps/rabbit/src/rabbit_disk_monitor.erl
+@@ -66,7 +66,7 @@
+
+ %%----------------------------------------------------------------------------
+
+--type disk_free_limit() :: (integer() | string() | {'mem_relative', float() | integer()}).
++-type disk_free_limit() :: integer() | {'absolute', integer()} | string() | {'mem_relative', float() | integer()}.
+
+ %%----------------------------------------------------------------------------
+ %% Public API
+@@ -272,6 +272,8 @@ parse_free_win32(CommandResult) ->
+ interpret_limit({mem_relative, Relative})
+ when is_number(Relative) ->
+ round(Relative * vm_memory_monitor:get_total_memory());
++interpret_limit({absolute, Absolute}) ->
++ interpret_limit(Absolute);
+ interpret_limit(Absolute) ->
+ case rabbit_resource_monitor_misc:parse_information_unit(Absolute) of
+ {ok, ParsedAbsolute} -> ParsedAbsolute;
+--- rabbitmq-server-3.8.9.orig/deps/rabbitmq_cli/lib/rabbitmq/cli/core/memory.ex
++++ rabbitmq-server-3.8.9/deps/rabbitmq_cli/lib/rabbitmq/cli/core/memory.ex
+@@ -56,6 +56,12 @@ defmodule RabbitMQ.CLI.Core.Memory do
+ def formatted_watermark(val) when is_float(val) do
+ %{relative: val}
+ end
++ def formatted_watermark({:relative, val}) when is_float(val) do
++ %{relative: val}
++ end
++ def formatted_watermark(:infinity) do
++ %{relative: 1.0}
++ end
+ def formatted_watermark({:absolute, val}) do
+ %{absolute: parse_watermark(val)}
+ end
Reply to: