diff --git a/deps/rabbit/src/mc_compat.erl b/deps/rabbit/src/mc_compat.erl index 9a2c2d615c68..461897521866 100644 --- a/deps/rabbit/src/mc_compat.erl +++ b/deps/rabbit/src/mc_compat.erl @@ -53,17 +53,6 @@ get_annotation(exchange, #basic_message{exchange_name = Ex}) -> Ex#resource.name; get_annotation(id, #basic_message{id = Id}) -> Id. -% get_annotation(binding_keys = Key, -% #basic_message{content = -% #content{properties = -% #'P_basic'{headers = H}}}) -> -% case H of -% undefined -> H; -% _ -> case rabbit_misc:table_lookup(H, Key) of -% {array, BKeys} -> [BKey || {longstr, BKey} <- BKeys]; -% Undefined -> Undefined -% end -% end. set_annotation(id, Value, #basic_message{} = Msg) -> Msg#basic_message{id = Value}; @@ -93,11 +82,6 @@ set_annotation(<<"x-", _/binary>> = Key, Value, C = C0#content{properties = B#'P_basic'{headers = H}, properties_bin = none}, Msg#basic_message{content = C}. -% set_annotation(binding_keys, BindingKeys, #basic_message{} = Msg) -> -% L = maps:fold(fun(B, true, Acc) -> -% [{longstr, B} | Acc] -% end, [], BindingKeys), -% rabbit_basic:add_header(<<"x-binding-keys">>, array, L, Msg). is_persistent(#basic_message{content = Content}) -> get_property(durable, Content). diff --git a/deps/rabbit/src/rabbit_variable_queue.erl b/deps/rabbit/src/rabbit_variable_queue.erl index d86def202921..74642de6df47 100644 --- a/deps/rabbit/src/rabbit_variable_queue.erl +++ b/deps/rabbit/src/rabbit_variable_queue.erl @@ -1285,9 +1285,9 @@ msg_status(Version, IsPersistent, IsDelivered, SeqId, persist_to = determine_persist_to(Version, Msg, MsgProps, IndexMaxSize), msg_props = MsgProps}. -beta_msg_status({Msg, - SeqId, MsgLocation, MsgProps, IsPersistent}) - when element(1, Msg) == mc -> +beta_msg_status({Msg, SeqId, MsgLocation, MsgProps, IsPersistent}) + when element(1, Msg) == mc orelse + is_record(Msg, basic_message) -> MsgId = mc:get_annotation(id, Msg), MS0 = beta_msg_status0(SeqId, MsgProps, IsPersistent), MS0#msg_status{msg_id = MsgId, @@ -1303,7 +1303,8 @@ beta_msg_status({Msg, end}; beta_msg_status({MsgId, SeqId, MsgLocation, MsgProps, IsPersistent}) - when is_binary(MsgId) -> + when is_binary(MsgId) orelse + MsgId =:= undefined -> MS0 = beta_msg_status0(SeqId, MsgProps, IsPersistent), MS0#msg_status{msg_id = MsgId, msg = undefined,