diff options
| author | Michael Klishin <michael@novemberain.com> | 2018-12-19 16:41:45 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-12-19 16:41:45 +0300 |
| commit | 05ab88dc231d82660f97428614032a446ef09e81 (patch) | |
| tree | a0e6c8296823e79daf1da65e6eeaf089e5851653 | |
| parent | e8fb108131762a5511c7c6b091642f19cd29994b (diff) | |
| parent | d6dd9d05cab9eea95c49350b287a4182583c693d (diff) | |
| download | rabbitmq-server-git-05ab88dc231d82660f97428614032a446ef09e81.tar.gz | |
Merge pull request #1806 from rabbitmq/report-message-bytes
quorum queue: reset message bytes on purge
| -rw-r--r-- | src/rabbit_fifo.erl | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/rabbit_fifo.erl b/src/rabbit_fifo.erl index 8c7b208855..1fc467913e 100644 --- a/src/rabbit_fifo.erl +++ b/src/rabbit_fifo.erl @@ -429,6 +429,8 @@ apply(#{index := RaftIdx}, #purge{}, Effects0, State1#state{ra_indexes = rabbit_fifo_index:empty(), messages = #{}, returns = lqueue:new(), + msg_bytes_enqueue = 0, + msg_bytes_checkout = 0, low_msg_num = undefined}, Effects1), {State, [garbage_collection | Effects], {purge, Total}}; apply(_, {down, ConsumerPid, noconnection}, @@ -1866,9 +1868,14 @@ purge_test() -> purge_with_checkout_test() -> Cid = {<<"purge_test">>, self()}, {State0, _} = check_auto(Cid, 1, test_init(?FUNCTION_NAME)), - {State1, _} = enq(2, 1, first, State0), - {State2, _} = enq(3, 2, second, State1), + {State1, _} = enq(2, 1, <<"first">>, State0), + {State2, _} = enq(3, 2, <<"second">>, State1), + %% assert message bytes are non zero + ?assert(State2#state.msg_bytes_checkout > 0), + ?assert(State2#state.msg_bytes_enqueue > 0), {State3, _, {purge, 2}} = apply(meta(2), make_purge(), [], State2), + ?assertEqual(0, State3#state.msg_bytes_checkout), + ?assertEqual(0, State3#state.msg_bytes_enqueue), #consumer{checked_out = Checked} = maps:get(Cid, State3#state.consumers), ?assertEqual(0, maps:size(Checked)), ok. |
