summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlvaro Videla <videlalvaro@gmail.com>2015-10-16 07:24:36 +0200
committerAlvaro Videla <videlalvaro@gmail.com>2015-10-16 07:24:36 +0200
commit3b1321a9082b5a574c92a11ea6cf8725588eebda (patch)
treeadf76c1818949de47604e0c987d230104f4f9172
parentc9ecb00da9c41004630c2a74da884dd399b6d5cf (diff)
downloadrabbitmq-server-git-3b1321a9082b5a574c92a11ea6cf8725588eebda.tar.gz
fixes queue transition from default to lazy
-rw-r--r--src/rabbit_variable_queue.erl8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl
index 4565dea8db..7d97cd4ff0 100644
--- a/src/rabbit_variable_queue.erl
+++ b/src/rabbit_variable_queue.erl
@@ -921,9 +921,9 @@ set_queue_mode(_, State) ->
State.
convert_to_lazy(State) ->
- State1 = #vqstate { ram_msg_count = RMC, q3 = Q3 } =
+ State1 = #vqstate { delta = Delta, q3 = Q3, len = Len } =
set_ram_duration_target(0, State),
- case RMC =:= ?QUEUE:len(Q3) of
+ case Delta#delta.count + ?QUEUE:len(Q3) == Len of
true ->
State1;
false ->
@@ -1077,8 +1077,8 @@ a(State = #vqstate { q1 = Q1, q2 = Q2, delta = Delta, q3 = Q3, q4 = Q4,
%% if the queue is empty, then delta is empty and q3 is empty.
true = LZ == (ED and E3),
- %% RamMsgCount should be equal to Q3's length.
- true = RamMsgCount == L3,
+ %% There should be no messages in q1, q2, and q4
+ true = Delta#delta.count + L3 == Len,
true = Len >= 0,
true = Bytes >= 0,