summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rabbit_variable_queue.erl5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl
index 6b45866220..2c00c4da07 100644
--- a/src/rabbit_variable_queue.erl
+++ b/src/rabbit_variable_queue.erl
@@ -585,13 +585,14 @@ beta_fold_no_index_on_disk(Fun, Init, Q) ->
permitted_ram_index_count(#vqstate { len = 0 }) ->
undefined;
-permitted_ram_index_count(#vqstate { len = Len, q2 = Q2, q3 = Q3 }) ->
+permitted_ram_index_count(#vqstate { len = Len, q2 = Q2, q3 = Q3,
+ delta = #delta { count = DeltaCount } }) ->
case bpqueue:len(Q2) + bpqueue:len(Q3) of
0 ->
undefined;
BetaLength ->
%% the fraction of the queue that are betas
- BetaFrac = BetaLength / Len,
+ BetaFrac = BetaLength / (Len - DeltaCount),
BetaLength - trunc(BetaFrac * BetaLength)
end.