summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkjnilsson <knilsson@pivotal.io>2021-04-16 11:05:46 +0100
committerkjnilsson <knilsson@pivotal.io>2021-04-16 11:05:46 +0100
commitac6b4ddc3afba282b690cb52e91e7780f75691db (patch)
tree99fe9c3e3008645ea537a1fa9c33c63bc50de60e
parent33e95a03b3f96cf029987ee81a389ce3bfcae074 (diff)
downloadrabbitmq-server-git-ac6b4ddc3afba282b690cb52e91e7780f75691db.tar.gz
rabbit_fifo: fix failing tests
That regressed after refactoring how delivery effects are emitted.
-rw-r--r--deps/rabbit/src/rabbit_fifo.erl12
-rw-r--r--deps/rabbit/src/rabbit_quorum_queue.erl3
2 files changed, 10 insertions, 5 deletions
diff --git a/deps/rabbit/src/rabbit_fifo.erl b/deps/rabbit/src/rabbit_fifo.erl
index 618dc8f4f9..db43680bae 100644
--- a/deps/rabbit/src/rabbit_fifo.erl
+++ b/deps/rabbit/src/rabbit_fifo.erl
@@ -1576,7 +1576,7 @@ checkout0(Meta, {success, ConsumerId, MsgId, Msg, State}, Effects,
checkout0(_Meta, {Activity, State0}, Effects0, SendAcc) ->
Effects1 = case Activity of
nochange ->
- append_delivery_effects(Effects0, SendAcc);
+ append_delivery_effects(Effects0, SendAcc);
inactive ->
[{aux, inactive}
| append_delivery_effects(Effects0, SendAcc)]
@@ -1649,10 +1649,14 @@ evaluate_memory_limit(Size,
when is_integer(Size) ->
(Length >= MaxLength) orelse ((Bytes + Size) > MaxBytes).
+append_delivery_effects(Effects0, AccMap) when map_size(AccMap) == 0 ->
+ %% does this ever happen?
+ Effects0;
append_delivery_effects(Effects0, AccMap) ->
- maps:fold(fun (C, {InMemMsgs, LogMsgs}, Ef) ->
- [delivery_effect(C, lists:reverse(LogMsgs), InMemMsgs) | Ef]
- end, Effects0, AccMap).
+ [{aux, active} |
+ maps:fold(fun (C, {InMemMsgs, LogMsgs}, Ef) ->
+ [delivery_effect(C, lists:reverse(LogMsgs), InMemMsgs) | Ef]
+ end, Effects0, AccMap)].
%% next message is determined as follows:
%% First we check if there are are prefex returns
diff --git a/deps/rabbit/src/rabbit_quorum_queue.erl b/deps/rabbit/src/rabbit_quorum_queue.erl
index 70317cf652..9075ec1df1 100644
--- a/deps/rabbit/src/rabbit_quorum_queue.erl
+++ b/deps/rabbit/src/rabbit_quorum_queue.erl
@@ -1590,7 +1590,8 @@ notify_decorators(Q) when ?is_amqqueue(Q) ->
QPid = amqqueue:get_pid(Q),
case ra:local_query(QPid, fun rabbit_fifo:query_notify_decorators_info/1) of
{ok, {_, {MaxActivePriority, IsEmpty}}, _} ->
- notify_decorators(QName, consumer_state_changed, [MaxActivePriority, IsEmpty]);
+ notify_decorators(QName, consumer_state_changed,
+ [MaxActivePriority, IsEmpty]);
_ -> ok
end.