Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [mosquitto-dev] MQTT QoS 2 protocol problem

Mmm, sorry, I have not experience using Dart MQTT. I'd suggest that you use PAHO for Android at least for a small test only to discard that the problem is in the broker. I've used PAHO for Android for a long period without this kind of problems and I think it is difficult to debug your problem having only the server-side log. Perhaps Darth MQTT is not queuing the correct way the still unprocessed messages and overwrite them if they are received too fast. As a first attempt, you could reduce the message rate per seconds to see the behaviour of your client.

Do you know if Dart MQTT allows you define the on-memory persistence of messages? A had also a problem similar that the one you describe when using MQTT client for nodejs (and finally I did not use it).

Good luck!

El mié., 19 sept. 2018 a las 19:11, Jos Vos (<jos@xxxxxx>) escribió:
On Wed, Sep 19, 2018 at 06:48:10PM +0200, Manuel Domínguez Dorado wrote:

> AFAIK, message IDs don't guarantee the processing order of messages. Only
> having
>
> max_inflight_messages *1*
>
> would mosquitto preserve the processing order. That's... if you send
> messages 1, 2 and 3 to Mosquitto, Mosquitto will deliver them in that
> order. Otherwise, it cannot be assured.

Then the default Mosquitto configuration would not work according to
the spec (MQTT v3.1.1, paragraph 4.6 message ordering), AFAICS.

> Anyway, in relation to your problem with your second message not being
> "completed", from you log it seems that is the client the one that is not
> sending the PUBREL. The broker is sending PUBREC as expected. Which MQTT
> client are you using? Is it stable? In the past I had some problems when
> trying to send QoS2 message too fast to the broker, using an old version of
> PAHO.

This is all about the Dart MQTT library "mqtt_client" (used on Android
with Flutter), which is said to be a port of the C# nMQTT implementation.
Until now, I only have used Paho MQTT for Python (and Paho MQTT for JS
for a while) and I already found strange things in that Dart library
that appeared to be related to the same strange things in nMQTT :-(.

--
--    Jos Vos <jos@xxxxxx>
--    X/OS Experts in Open Systems BV   |   Office: +31 20 6938364
--    Amsterdam, The Netherlands        |   Mobile: +31 6 26216181


--
---
Manuel Domínguez Dorado
Software engineer (Ph.D, M.Sc., B.Sc.)
Certified Project Management Professional (PMP)

ingeniero@xxxxxxxxxxxxxxxxxxx
http://www.ManoloDominguez.com
(+34) 607 418 760


Back to the top