summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rabbit_variable_queue.erl11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl
index ff2d57afcd..25dc5910c7 100644
--- a/src/rabbit_variable_queue.erl
+++ b/src/rabbit_variable_queue.erl
@@ -662,7 +662,11 @@ status(#vqstate { q1 = Q1, q2 = Q2, delta = Delta, q3 = Q3, q4 = Q4,
%%----------------------------------------------------------------------------
a(State = #vqstate { q1 = Q1, q2 = Q2, delta = Delta, q3 = Q3, q4 = Q4,
- len = Len, target_ram_msg_count = TargetRamMsgCount }) ->
+ len = Len,
+ persistent_count = PersistentCount,
+ target_ram_msg_count = TargetRamMsgCount,
+ ram_msg_count = RamMsgCount,
+ ram_index_count = RamIndexCount }) ->
E1 = queue:is_empty(Q1),
E2 = bpqueue:is_empty(Q2),
ED = Delta#delta.count == 0,
@@ -677,6 +681,11 @@ a(State = #vqstate { q1 = Q1, q2 = Q2, delta = Delta, q3 = Q3, q4 = Q4,
true = (E1 and E2 and E4) or not TZ,
true = LZ == (E3 and E4),
+ true = Len >= 0,
+ true = PersistentCount >= 0,
+ true = RamMsgCount >= 0,
+ true = RamIndexCount >= 0,
+
State.
one_if(true ) -> 1;