summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rabbit_fifo.erl9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/rabbit_fifo.erl b/src/rabbit_fifo.erl
index 9a2e3f3dc3..aea2850084 100644
--- a/src/rabbit_fifo.erl
+++ b/src/rabbit_fifo.erl
@@ -509,6 +509,13 @@ convert_v0_to_v1(V0State0) ->
V0State = rabbit_fifo_v0:normalize_for_v1(V0State0),
V0Msgs = rabbit_fifo_v0:get_field(messages, V0State),
V1Msgs = lqueue:from_list(lists:sort(maps:to_list(V0Msgs))),
+ V0Enqs = rabbit_fifo_v0:get_field(enqueuers, V0State),
+ V1Enqs = maps:map(
+ fun (_EPid, E) ->
+ #enqueuer{next_seqno = element(2, E),
+ pending = element(3, E),
+ status = element(4, E)}
+ end, V0Enqs),
Cfg = #cfg{name = rabbit_fifo_v0:get_cfg_field(name, V0State),
resource = rabbit_fifo_v0:get_cfg_field(resource, V0State),
release_cursor_interval = rabbit_fifo_v0:get_cfg_field(release_cursor_interval, V0State),
@@ -529,7 +536,7 @@ convert_v0_to_v1(V0State0) ->
next_msg_num = rabbit_fifo_v0:get_field(next_msg_num, V0State),
returns = rabbit_fifo_v0:get_field(returns, V0State),
enqueue_count = rabbit_fifo_v0:get_field(enqueue_count, V0State),
- enqueuers = rabbit_fifo_v0:get_field(enqueuers, V0State),
+ enqueuers = V1Enqs,
ra_indexes = rabbit_fifo_v0:get_field(ra_indexes, V0State),
release_cursors = rabbit_fifo_v0:get_field(release_cursors, V0State),
consumers = rabbit_fifo_v0:get_field(consumers, V0State),