Skip to main content
13-Aquamarine
November 22, 2019
Solved

Packet loss using MQTT subscribe

  • November 22, 2019
  • 1 reply
  • 3739 views

Hello,

we have defined a Thing with MQTT Template, receiving packets from MQTT broker.

Packets are coming and stored in a stream, but sometimes packets are lost.

We know that these packets have been sent from the MQTT broker but we don't find them in the stream.

The packet is received into a JSON property, and the subscription (defined on data change) read the JSON and transform it to store into the stream.

Any idea ? Many thank Dimitri

Best answer by PaiChung

I would then first put messages into an in memory infotable and then have that picked up by a separate service to handle the messages.

you can use the addrow/deleterow to very real time population of the memory queue and unload.

1 reply

22-Sapphire I
November 22, 2019

how rapidly are these messages coming in at times?

anything with a timestamp within 3 ms will not go into the stream or overwrite the existing entry.

So especially if you are queueing a lot of messages to be processed at once you might run into this issue.

dbologna13-AquamarineAuthor
13-Aquamarine
November 26, 2019

H i Thanks.

That's what I found.
What solution can I adopt to avoid losing information.

BR

Dimitri

22-Sapphire I
November 26, 2019

Either you bulk / cache the incoming messages and process them as 'one' or you may have to force a 3ms pause() before writing the subsequent messages to be certain.