summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2014-12-11 16:36:56 +0000
committerSimon MacMullen <simon@rabbitmq.com>2014-12-11 16:36:56 +0000
commit3990a8390f6f11abdb88f3059fd1e0fcb46eb5bb (patch)
tree7e8802285e29edbffce66edfb4903a699b742e9d
parente4116d4ace857b190b38feee25d31bda06bb07f5 (diff)
downloadrabbitmq-server-3990a8390f6f11abdb88f3059fd1e0fcb46eb5bb.tar.gz
Minor refactor.bug26498
-rw-r--r--src/rabbit_variable_queue.erl18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl
index 6415eb6d..1da3de26 100644
--- a/src/rabbit_variable_queue.erl
+++ b/src/rabbit_variable_queue.erl
@@ -1198,6 +1198,8 @@ upd_ram_bytes(Sign, MsgStatus, State = #vqstate{ram_bytes = RamBytes}) ->
msg_size(#msg_status{msg_props = #message_properties{size = Size}}) -> Size.
+msg_in_ram(#msg_status{msg = Msg}) -> Msg =/= undefined.
+
remove(AckRequired, MsgStatus = #msg_status {
seq_id = SeqId,
msg_id = MsgId,
@@ -1486,10 +1488,9 @@ publish_alpha(MsgStatus, State) ->
publish_beta(MsgStatus, State) ->
{MsgStatus1, State1} = maybe_write_to_disk(true, false, MsgStatus, State),
MsgStatus2 = m(trim_msg_status(MsgStatus1)),
- case {MsgStatus1#msg_status.msg =:= undefined,
- MsgStatus2#msg_status.msg =:= undefined} of
- {false, true} -> {MsgStatus2, upd_ram_bytes(-1, MsgStatus, State1)};
- _ -> {MsgStatus2, State1}
+ case msg_in_ram(MsgStatus1) andalso not msg_in_ram(MsgStatus2) of
+ true -> {MsgStatus2, upd_ram_bytes(-1, MsgStatus, State1)};
+ _ -> {MsgStatus2, State1}
end.
%% Rebuild queue, inserting sequence ids to maintain ordering
@@ -1526,10 +1527,11 @@ delta_merge(SeqIds, Delta, MsgIds, State) ->
msg_from_pending_ack(SeqId, State0),
{_MsgStatus, State2} =
maybe_write_to_disk(true, true, MsgStatus, State1),
- State3 = case MsgStatus#msg_status.msg of
- undefined -> State2;
- _ -> upd_ram_bytes(-1, MsgStatus, State2)
- end,
+ State3 =
+ case msg_in_ram(MsgStatus) of
+ false -> State2;
+ true -> upd_ram_bytes(-1, MsgStatus, State2)
+ end,
{expand_delta(SeqId, Delta0), [MsgId | MsgIds0],
upd_bytes(1, -1, MsgStatus, State3)}
end, {Delta, MsgIds, State}, SeqIds).