Fix duplicate send pubrec packet
This commit is contained in:
parent
9157f824e5
commit
aa360d4378
|
@ -733,9 +733,14 @@ acked(puback, PacketId, State = #state{client_id = ClientId,
|
||||||
acked(pubrec, PacketId, State = #state{client_id = ClientId,
|
acked(pubrec, PacketId, State = #state{client_id = ClientId,
|
||||||
username = Username,
|
username = Username,
|
||||||
inflight = Inflight}) ->
|
inflight = Inflight}) ->
|
||||||
{publish, Msg, _Ts} = Inflight:lookup(PacketId),
|
case Inflight:lookup(PacketId) of
|
||||||
|
{publish, Msg, _Ts} ->
|
||||||
emqttd_hooks:run('message.acked', [ClientId, Username], Msg),
|
emqttd_hooks:run('message.acked', [ClientId, Username], Msg),
|
||||||
State#state{inflight = Inflight:update(PacketId, {pubrel, PacketId, os:timestamp()})};
|
State#state{inflight = Inflight:update(PacketId, {pubrel, PacketId, os:timestamp()})};
|
||||||
|
{pubrel, PacketId, _Ts} ->
|
||||||
|
?LOG(error, "~p packet_id:~p, duplicate send pubrec packet", [ClientId, PacketId], State),
|
||||||
|
State
|
||||||
|
end;
|
||||||
|
|
||||||
acked(pubcomp, PacketId, State = #state{inflight = Inflight}) ->
|
acked(pubcomp, PacketId, State = #state{inflight = Inflight}) ->
|
||||||
State#state{inflight = Inflight:delete(PacketId)}.
|
State#state{inflight = Inflight:delete(PacketId)}.
|
||||||
|
|
Loading…
Reference in New Issue