huber-and commented on PR #29421: URL: https://github.com/apache/camel/pull/29421#issuecomment-6724362717
Thanks a lot @davsclaus and @etzel-mes for the thorough reviews. Serdar, seeing each point reproduced against EMQX helped a lot. All points are addressed in the last two commits, the additional ones from gnodet-bot included, mostly as suggested. Where Serdar proposed a different route I followed it: a Vert.x worker of one thread for the consumer, pause/drain/disconnect on stop with `ShutdownAware`, an unconditional `disconnect()` on stop, and the paho5 rules for failed manual acks (redeliver only for QoS 1 with a kept session, acknowledge otherwise). A few things worth noting: - Every fix has a test, and each test fails without its fix. The exception is the publish reordering under MQTT 5: the whole publish now runs on the connection's context, but I could not reproduce the reordering with the in-process test broker (no topic aliases), so there is no test for it. Serdar, a run against EMQX would confirm it. - Incoming and outgoing headers are separate now: the producer reads `CamelVertxMqttOverrideQos` and `CamelVertxMqttOverrideRetained`. - `CamelVertxMqttUserProperties` is a list of entries now, keeping order and repeated keys. - The release of waiting exchanges after a reconnect, the keep alive behaviour, QoS 2 across a reconnect and the tech preview status are documented rather than changed. On the vertx-mqtt side I'll open issues for the PUBREL handling after a reconnect, for the in-flight state a client keeps across a lost connection, and for the keep alive gap that vert-x3/vertx-mqtt#123 left open (no PINGREQ while the client keeps writing). -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
